mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-27 03:13:23 +00:00
Use docker as dev environment
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
bf961756b9
commit
9137ef434f
@ -4,24 +4,24 @@ use jinux_frame::task::{set_scheduler, Scheduler, Task, TaskAdapter};
|
||||
use intrusive_collections::LinkedList;
|
||||
|
||||
pub struct FifoScheduler {
|
||||
tasks: Mutex<LinkedList<TaskAdapter>>,
|
||||
tasks: SpinLock<LinkedList<TaskAdapter>>,
|
||||
}
|
||||
|
||||
impl FifoScheduler {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
tasks: Mutex::new(LinkedList::new(TaskAdapter::new())),
|
||||
tasks: SpinLock::new(LinkedList::new(TaskAdapter::new())),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Scheduler for FifoScheduler {
|
||||
fn enqueue(&self, task: Arc<Task>) {
|
||||
self.tasks.lock().push_back(task.clone());
|
||||
self.tasks.lock_irq_disabled().push_back(task.clone());
|
||||
}
|
||||
|
||||
fn dequeue(&self) -> Option<Arc<Task>> {
|
||||
self.tasks.lock().pop_front()
|
||||
self.tasks.lock_irq_disabled().pop_front()
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user