Changes in kernel/generic/src/proc/thread.c [ee42e43:48dcc69] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/thread.c
ree42e43 r48dcc69 48 48 #include <synch/spinlock.h> 49 49 #include <synch/waitq.h> 50 #include <synch/rwlock.h> 50 51 #include <cpu.h> 51 52 #include <str.h> … … 328 329 thread->flags = flags; 329 330 thread->state = Entering; 331 thread->call_me = NULL; 332 thread->call_me_with = NULL; 330 333 331 334 timeout_initialize(&thread->sleep_timeout); … … 340 343 thread->detached = false; 341 344 waitq_initialize(&thread->join_wq); 345 346 thread->rwlock_holder_type = RWLOCK_NONE; 342 347 343 348 thread->task = task; … … 578 583 579 584 (void) waitq_sleep_timeout(&wq, usec, SYNCH_FLAGS_NON_BLOCKING); 585 } 586 587 /** Register thread out-of-context invocation 588 * 589 * Register a function and its argument to be executed 590 * on next context switch to the current thread. Must 591 * be called with interrupts disabled. 592 * 593 * @param call_me Out-of-context function. 594 * @param call_me_with Out-of-context function argument. 595 * 596 */ 597 void thread_register_call_me(void (* call_me)(void *), void *call_me_with) 598 { 599 irq_spinlock_lock(&THREAD->lock, false); 600 THREAD->call_me = call_me; 601 THREAD->call_me_with = call_me_with; 602 irq_spinlock_unlock(&THREAD->lock, false); 580 603 } 581 604
Note:
See TracChangeset
for help on using the changeset viewer.