# Meeting 2023-02-01 * [ ] Don't forget the meeting with Asahi Lina tomorrow ;-) https://github.com/Rust-for-Linux/linux/pull/884 * [ ] sleep in `async` ```rust= let e = Executor::try_new_owned(...)? e.spawn(async || { // spawns a task, let's say `t1`, and `t1` holds one refereneces of `e` Delay(10000).await; // wait for 10000 seconds, this will add a timer which holds one reference to `t1` }); drop(e); // stop `e`, clean up the queue, revoke futures. // reference count fo `t1` is 1 (held by timer closure), reference count of `e` is 1 (held by `t1`). <10000 seconds later, timer fired> // in timer handler waker.wake(); // `waker` is `t1` and `waker` is consumed. // Task::drop() -> Executor::drop() -> BoxQueue::drop() -> destroy_workqueue() -> sleep!!! // sleep in timer handler ```