Lines Matching refs:inner
423 inner: SpinLock<InnerThread>, field
448 let inner = InnerThread::new()?; in new() localVariable
455 inner <- kernel::new_spinlock!(inner, "Thread::inner"), in new()
466 let inner = self.inner.lock(); in debug_print() localVariable
468 if print_all || inner.current_transaction.is_some() || !inner.work_list.is_empty() { in debug_print()
473 inner.looper_flags, in debug_print()
474 inner.looper_need_return, in debug_print()
478 let mut t_opt = inner.current_transaction.as_ref(); in debug_print()
492 for work in &inner.work_list { in debug_print()
500 let ee = self.inner.lock().extended_error; in get_extended_error()
506 self.inner.lock().current_transaction = Some(transaction); in set_current_transaction()
510 self.inner.lock().current_transaction.is_some() in has_current_transaction()
521 let mut inner = self.inner.lock(); in get_work_local() localVariable
522 if inner.looper_need_return { in get_work_local()
523 return Ok(inner.pop_work()); in get_work_local()
529 return self.inner.lock().pop_work().ok_or(EAGAIN).map(Some); in get_work_local()
533 let mut inner = self.inner.lock(); in get_work_local() localVariable
535 if let Some(work) = inner.pop_work() { in get_work_local()
539 inner.looper_flags |= LOOPER_WAITING; in get_work_local()
540 let signal_pending = self.work_condvar.wait_interruptible_freezable(&mut inner); in get_work_local()
541 inner.looper_flags &= !LOOPER_WAITING; in get_work_local()
546 if inner.looper_need_return { in get_work_local()
563 let mut inner = self.inner.lock(); in get_work() localVariable
564 if let Some(work) = inner.pop_work() { in get_work()
567 if inner.looper_need_return { in get_work()
568 drop(inner); in get_work()
587 let mut inner = self.inner.lock(); in get_work() localVariable
589 if let Some(work) = inner.pop_work() { in get_work()
593 inner.looper_flags |= LOOPER_WAITING | LOOPER_WAITING_PROC; in get_work()
594 let signal_pending = self.work_condvar.wait_interruptible_freezable(&mut inner); in get_work()
595 inner.looper_flags &= !(LOOPER_WAITING | LOOPER_WAITING_PROC); in get_work()
597 if signal_pending || inner.looper_need_return { in get_work()
602 drop(inner); in get_work()
605 let res = match self.inner.lock().pop_work() { in get_work()
621 let res = self.inner.lock().push_work(work); in push_work()
637 let mut inner = self.inner.lock(); in push_work_if_looper() localVariable
638 if inner.is_looper() && !inner.is_dead { in push_work_if_looper()
639 inner.push_work(work); in push_work_if_looper()
642 drop(inner); in push_work_if_looper()
648 self.inner.lock().push_work_deferred(work); in push_work_deferred()
652 self.inner.lock().push_return_work(reply); in push_return_work()
1108 let mut inner = thread.inner.lock(); in unwind_transaction_stack() localVariable
1109 inner.pop_transaction_to_reply(thread.as_ref()) in unwind_transaction_stack()
1142 transaction.set_outstanding(&mut self.process.inner.lock()); in deliver_single_reply()
1146 let mut inner = self.inner.lock(); in deliver_single_reply() localVariable
1147 if !inner.pop_transaction_replied(transaction) { in deliver_single_reply()
1151 if inner.is_dead { in deliver_single_reply()
1157 inner.push_work(work); in deliver_single_reply()
1159 Err(code) => inner.push_reply_work(code), in deliver_single_reply()
1170 let inner = self.inner.lock(); in is_current_transaction() localVariable
1171 match &inner.current_transaction { in is_current_transaction()
1181 let inner = self.inner.lock(); in top_of_transaction_stack() localVariable
1182 if let Some(cur) = &inner.current_transaction { in top_of_transaction_stack()
1252 let mut ee = self.inner.lock().extended_error; in transaction()
1283 let mut inner = self.inner.lock(); in transaction_inner() localVariable
1284 if !transaction.is_stacked_on(&inner.current_transaction) { in transaction_inner()
1288 inner.current_transaction = Some(transaction.clone_arc()); in transaction_inner()
1291 inner.push_work_deferred(list_completion); in transaction_inner()
1298 let mut inner = self.inner.lock(); in transaction_inner() localVariable
1299 transaction = inner.current_transaction.take().unwrap(); in transaction_inner()
1300 inner.current_transaction = transaction.clone_next(); in transaction_inner()
1308 let orig = self.inner.lock().pop_transaction_to_reply(self)?; in reply_inner()
1322 self.inner.lock().push_work(completion); in reply_inner()
1354 self.inner.lock().push_work(list_completion); in oneway_transaction_inner()
1370 while reader.len() >= size_of::<u32>() && self.inner.lock().return_work.is_unused() { in write()
1384 self.inner.lock().looper_need_return = true; in write()
1416 self.inner.lock().looper_register(valid); in write()
1418 BC_ENTER_LOOPER => self.inner.lock().looper_enter(), in write()
1419 BC_EXIT_LOOPER => self.inner.lock().looper_exit(), in write()
1443 let inner = self.inner.lock(); in read() localVariable
1445 inner.is_looper(), in read()
1446 inner.current_transaction.is_some(), in read()
1447 !inner.work_list.is_empty(), in read()
1448 inner.should_use_process_work_queue(), in read()
1528 self.inner.lock().looper_need_return = false; in write_read()
1549 self.inner.lock().looper_need_return = false; in write_read()
1556 let mut inner = self.inner.lock(); in poll() localVariable
1557 (inner.should_use_process_work_queue(), inner.poll()) in poll()
1562 let mut inner = self.inner.lock(); in exit_looper() localVariable
1563 let should_notify = inner.looper_flags & LOOPER_WAITING != 0; in exit_looper()
1565 inner.looper_need_return = true; in exit_looper()
1567 drop(inner); in exit_looper()
1576 let inner = self.inner.lock(); in notify_if_poll_ready() localVariable
1577 let notify = inner.looper_flags & LOOPER_POLL != 0 && inner.should_use_process_work_queue(); in notify_if_poll_ready()
1578 drop(inner); in notify_if_poll_ready()
1591 self.inner.lock().is_dead = true; in release()