| 397 | } |
| 398 | |
| 399 | void bthread_exit(void* retval) { |
| 400 | bthread::TaskGroup* g = bthread::tls_task_group; |
| 401 | if (g != NULL && !g->is_current_main_task()) { |
| 402 | throw bthread::ExitException(retval); |
| 403 | } else { |
| 404 | pthread_exit(retval); |
| 405 | } |
| 406 | } |
| 407 | |
| 408 | int bthread_join(bthread_t tid, void** thread_return) { |
| 409 | return bthread::TaskGroup::join(tid, thread_return); |