From 629fe0fdec2e8c4b53d117b73d67e7d71be60d15 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Fri, 27 Mar 2020 13:04:28 +0100 Subject: [PATCH] Use SimpleExecutor in kernel_main to run example_task --- src/main.rs | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/src/main.rs b/src/main.rs index be542387..ed52ea73 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,8 +6,8 @@ extern crate alloc; -use alloc::{boxed::Box, rc::Rc, vec, vec::Vec}; use blog_os::println; +use blog_os::task::{simple_executor::SimpleExecutor, Task}; use bootloader::{entry_point, BootInfo}; use core::panic::PanicInfo; @@ -27,29 +27,9 @@ fn kernel_main(boot_info: &'static BootInfo) -> ! { allocator::init_heap(&mut mapper, &mut frame_allocator).expect("heap initialization failed"); - // allocate a number on the heap - let heap_value = Box::new(41); - println!("heap_value at {:p}", heap_value); - - // create a dynamically sized vector - let mut vec = Vec::new(); - for i in 0..500 { - vec.push(i); - } - println!("vec at {:p}", vec.as_slice()); - - // create a reference counted vector -> will be freed when count reaches 0 - let reference_counted = Rc::new(vec![1, 2, 3]); - let cloned_reference = reference_counted.clone(); - println!( - "current reference count is {}", - Rc::strong_count(&cloned_reference) - ); - core::mem::drop(reference_counted); - println!( - "reference count is {} now", - Rc::strong_count(&cloned_reference) - ); + let mut executor = SimpleExecutor::new(); + executor.spawn(Task::new(example_task())); + executor.run(); #[cfg(test)] test_main();