Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libthr/thread/thr_init.c
Show First 20 Lines • Show All 265 Lines • ▼ Show 20 Lines | static pthread_func_t jmp_table[][2] = { | ||||
[PJT_CLEANUP_POP_IMP] = {DUAL_ENTRY(__thr_cleanup_pop_imp)}, | [PJT_CLEANUP_POP_IMP] = {DUAL_ENTRY(__thr_cleanup_pop_imp)}, | ||||
[PJT_CLEANUP_PUSH_IMP] = {DUAL_ENTRY(__thr_cleanup_push_imp)}, | [PJT_CLEANUP_PUSH_IMP] = {DUAL_ENTRY(__thr_cleanup_push_imp)}, | ||||
[PJT_CANCEL_ENTER] = {DUAL_ENTRY(_Tthr_cancel_enter)}, | [PJT_CANCEL_ENTER] = {DUAL_ENTRY(_Tthr_cancel_enter)}, | ||||
[PJT_CANCEL_LEAVE] = {DUAL_ENTRY(_Tthr_cancel_leave)}, | [PJT_CANCEL_LEAVE] = {DUAL_ENTRY(_Tthr_cancel_leave)}, | ||||
[PJT_MUTEX_CONSISTENT] = {DUAL_ENTRY(_Tthr_mutex_consistent)}, | [PJT_MUTEX_CONSISTENT] = {DUAL_ENTRY(_Tthr_mutex_consistent)}, | ||||
[PJT_MUTEXATTR_GETROBUST] = {DUAL_ENTRY(_thr_mutexattr_getrobust)}, | [PJT_MUTEXATTR_GETROBUST] = {DUAL_ENTRY(_thr_mutexattr_getrobust)}, | ||||
[PJT_MUTEXATTR_SETROBUST] = {DUAL_ENTRY(_thr_mutexattr_setrobust)}, | [PJT_MUTEXATTR_SETROBUST] = {DUAL_ENTRY(_thr_mutexattr_setrobust)}, | ||||
[PJT_GETTHREADID_NP] = {DUAL_ENTRY(_thr_getthreadid_np)}, | [PJT_GETTHREADID_NP] = {DUAL_ENTRY(_thr_getthreadid_np)}, | ||||
[PJT_ATTR_GET_NP] = {DUAL_ENTRY(_thr_attr_get_np)}, | |||||
}; | }; | ||||
static int init_once = 0; | static int init_once = 0; | ||||
/* | /* | ||||
* For the shared version of the threads library, the above is sufficient. | * For the shared version of the threads library, the above is sufficient. | ||||
* But for the archive version of the library, we need a little bit more. | * But for the archive version of the library, we need a little bit more. | ||||
* Namely, we must arrange for this particular module to be pulled in from | * Namely, we must arrange for this particular module to be pulled in from | ||||
▲ Show 20 Lines • Show All 216 Lines • Show Last 20 Lines |