Home
last modified time | relevance | path

Searched refs:waker (Results 1 - 25 of 27) sorted by relevance

12

/commonlibrary/rust/ylong_runtime/ylong_runtime/src/sync/
H A Datomic_waker.rs22 waker: RefCell<Option<Waker>>,
28 /// A new waker is registering.
31 /// The waker is being woken.
38 waker: RefCell::new(None),
42 pub(crate) fn register_by_ref(&self, waker: &Waker) {
48 self.waker.borrow_mut().replace(waker.clone());
55 // atomic waker has been waked or registered, therefore waker must exist
56 let waker
[all...]
H A Dwake_list.rs54 /// Pushes a waker into the list and return its index in the list.
55 pub fn insert(&self, waker: Waker) -> usize { in insert()
58 list.wake_list.push_back(waker) in insert()
61 /// Removes the waker corresponding to the key.
109 while let Some(waker) = self.wake_list.pop_front() { in notify()
110 waker.wake(); in notify()
H A Doneshot.rs177 self.channel.waker.wake(); in send()
218 self.channel.waker.wake(); in drop()
395 self.channel.waker.register_by_ref(cx.waker()); in poll()
417 /// The waker to notify the sender task or the receiver task.
418 waker: AtomicWaker,
426 waker: AtomicWaker::new(), in new()
450 self.waker.take_waker(); in drop()
/commonlibrary/rust/ylong_runtime/ylong_runtime/src/task/
H A Dtask_handle.rs24 use crate::task::waker::WakerRefHeader;
110 "set waker failed: the join handle has been dropped" in set_waker_inner()
114 "set waker failed: the task already has a waker set" in set_waker_inner()
118 let waker = self.inner().waker.get(); in set_waker_inner()
119 *waker = Some(des_waker); in set_waker_inner()
124 let waker = self.inner().waker.get(); in set_waker_inner()
125 *waker in set_waker_inner()
[all...]
H A Djoin_set.rs66 waker: Option<Waker>,
75 waker: None, in default()
130 // Wake the JoinSet if an waker is set in wake_by_ref()
131 if let Some(waker) = list.waker.take() { in wake_by_ref()
133 waker.wake(); in wake_by_ref()
183 let waker = entry_into_waker(&entry); in spawn_inner()
185 (*entry.handle.get()).set_waker(&waker); in spawn_inner()
292 // set the joinset's waker if it's not set
293 let is_same_waker = match list.waker
[all...]
H A Draw.rs44 /// Task waker setting method
45 pub(crate) set_waker: unsafe fn(NonNull<Header>, cur_state: usize, waker: *const ()) -> bool,
138 pub(crate) unsafe fn set_waker(self, cur_state: usize, waker: *const ()) -> bool {
140 (vir_table.set_waker)(self.ptr, cur_state, waker)
187 pub(crate) waker: UnsafeCell<Option<Waker>>,
202 waker: UnsafeCell::new(None), in new()
269 let waker = self.waker.get();
270 match unsafe { &*waker } {
271 Some(waker)
[all...]
H A Djoin_handle.rs82 pub(crate) fn set_waker(&mut self, waker: &Waker) {
87 .set_waker(cur, (waker as *const Waker).cast::<()>())
89 // Task already finished, wake the waker immediately
90 waker.wake_by_ref();
118 let is_finished = self.raw.set_waker(cur, cx.waker() as *const _ as *mut ());
119 // Setting the waker may happen concurrently with task finishing.
H A Dyield_now.rs50 // Under worker context, we push the waker into the yielded list owned by the in poll()
51 // worker to avoid waking the waker immediately. This is because in poll()
52 // waking the waker in a worker context will put the task in the in poll()
56 yielded.push(cx.waker().clone()); in poll()
58 cx.waker().wake_by_ref(); in poll()
70 cx.waker().wake_by_ref(); in poll()
H A Dwaker.rs70 waker: ManuallyDrop<Waker>,
79 let waker = unsafe { ManuallyDrop::new(Waker::from_raw(raw_waker::<T>(header))) };
82 waker,
92 &self.waker in deref()
/commonlibrary/rust/ylong_runtime/ylong_runtime/src/ffrt/
H A Dffrt_timer.rs23 pub(crate) fn timer_register(waker: *mut Waker, dur: u64) -> Self {
26 let waker = data as *mut Waker; in timer_wake_hook()
27 (*waker).wake_by_ref(); in timer_wake_hook()
31 let data = waker as *mut c_void;
/commonlibrary/rust/ylong_runtime/ylong_runtime/src/time/
H A Dsleep.rs86 // the waker to wakeup the timer task
87 waker: Option<*mut Waker>,
103 waker: None, in new_timeout()
113 if let Some(waker) = self.inner.waker.take() {
115 drop(Box::from_raw(waker));
125 if let Some(waker) = self.inner.waker.take() { in cancel()
127 drop(Box::from_raw(waker)); in cancel()
145 let waker
[all...]
H A Ddriver.rs79 for waker in waker_list.iter_mut() {
80 waker
82 .expect("waker taken from the clock is none")
121 for waker in waker_list[0..waker_idx].iter_mut() {
122 waker
124 .expect("waker taken from the clock is none")
H A Dwheel.rs49 // Corresponding waker,
51 waker: Option<Waker>,
65 waker: None,
98 // Returns the corresponding waker.
100 self.waker.take()
103 // Sets the corresponding waker.
104 pub(crate) fn set_waker(&mut self, waker: Waker) {
105 self.waker = Some(waker);
/commonlibrary/rust/ylong_runtime/ylong_runtime/src/executor/
H A Dblock_on.rs65 pub(crate) fn waker(&self) -> Waker {
99 // create a waker based on the current thread
100 let waker = parker.waker();
101 let mut cx = Context::from_waker(&waker);
H A Dcurrent_thread.rs203 fn waker(parker: Arc<Parker>) -> Waker { in waker() functions
279 let waker = waker(parker.clone());
280 let mut cx = Context::from_waker(&waker);
H A Dworker.rs47 for waker in yielded.drain(..) {
48 waker.wake();
H A Ddriver_handle.rs49 self.io.waker.wake().unwrap_or_else(|e| panic!("ylong_io wake failed, error: {e}"));
/commonlibrary/rust/ylong_runtime/ylong_io/src/
H A Dlib.rs43 mod waker; modules
44 pub use waker::Waker;
H A Dwaker.rs38 /// UT cases for debug info of waker
49 let waker = Waker::new(&poll, Token::from_usize(0)).unwrap(); in ut_waker_debug_info()
50 let fmt = format!("{:?}", waker); in ut_waker_debug_info()
/commonlibrary/rust/ylong_runtime/ylong_io/src/sys/unix/
H A Dmod.rs53 mod waker; modules
55 pub(crate) use waker::WakerInner;
/commonlibrary/rust/ylong_runtime/ylong_io/src/sys/windows/
H A Dmod.rs45 mod waker; modules
46 pub(crate) use waker::WakerInner;
/commonlibrary/rust/ylong_runtime/ylong_runtime/src/net/
H A Dschedule_io.rs63 waker: Option<Waker>,
91 waker: None, in default()
140 // Put the waker associated with the context into the waiters
142 Interest::WRITABLE => waiters.writer = Some(cx.waker().clone()),
143 Interest::READABLE => waiters.reader = Some(cx.waker().clone()),
257 if let Some(waker) = waiters.reader.take() { in wake0()
258 wakers.push(waker); in wake0()
263 if let Some(waker) = waiters.writer.take() { in wake0()
264 wakers.push(waker); in wake0()
270 if let Some(waker) in wake0()
[all...]
H A Ddriver.rs79 pub(crate) waker: ylong_io::Waker,
102 fn new(inner: Arc<Inner>, waker: ylong_io::Waker) -> Self { in new()
103 IoHandle { inner, waker } in new()
199 let waker = ylong_io::Waker::new(&poll, WAKE_TOKEN)
200 .unwrap_or_else(|e| panic!("ylong_io waker construction failed, error: {e}"));
227 (IoHandle::new(inner, waker), driver)
/commonlibrary/rust/ylong_runtime/ylong_ffrt/src/
H A Dsys_event.rs48 waker: *mut c_void, in ffrt_timer_start()
/commonlibrary/rust/ylong_http/ylong_http_client/src/util/h2/io/
H A Dsplit.rs129 cx.waker().wake_by_ref(); in get_lock()

Completed in 9 milliseconds

12