• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/dcerpc-61/dcerpc/libdcethread/

Lines Matching refs:thread

86 int interrupt_join(dcethread* thread ATTRIBUTE_UNUSED, void* data);
89 interrupt_join(dcethread* thread ATTRIBUTE_UNUSED, void* data)
105 dcethread_join(dcethread* thread, void **status)
110 if (thread == dcethread__self())
115 if (!thread->flag.joinable)
117 DCETHREAD_WARNING("Joining implicit dcethread %p is ill-advised", thread);
120 /* Begin our blocking wait on the other thread */
121 if (dcethread__begin_block(dcethread__self(), interrupt_join, (void*) thread, &old_interrupt, &old_data))
126 /* Lock the other thread in preparation for waiting on its state condition */
127 dcethread__lock(thread);
128 /* While the thread is still alive */
129 while (thread->state != DCETHREAD_STATE_DEAD)
132 dcethread__wait(thread);
135 unlock the other thread for now */
136 dcethread__unlock(thread);
144 /* Re-lock thread to resume state change wait */
145 dcethread__lock(thread);
148 /* Capture thread result */
150 *status = thread->status;
152 dcethread__release(thread);
154 dcethread__unlock(thread);
160 dcethread_join_throw(dcethread* thread, void **status)
162 DCETHREAD_WRAP_THROW(dcethread_join(thread, status));
179 dcethread* thread;
182 MU_TRY_DCETHREAD( dcethread_create(&thread, NULL, basic_thread, (void*) 0xDEADBEEF) );
183 MU_TRY_DCETHREAD( dcethread_join(thread, &result) );
216 /* Detach and kill thread instead */
229 dcethread* thread;
231 MU_TRY_DCETHREAD( dcethread_create(&thread, NULL, join_thread, NULL) );
232 MU_TRY_DCETHREAD( dcethread_interrupt(thread) );
233 MU_TRY_DCETHREAD( dcethread_join(thread, NULL) );
238 dcethread* thread;
244 MU_TRY_DCETHREAD( dcethread_create(&thread, NULL, join_thread, NULL) );
246 MU_TRY_DCETHREAD( dcethread_interrupt(thread) );
247 MU_TRY_DCETHREAD( dcethread_join(thread, NULL) );