X-Git-Url: https://git.saurik.com/apple/libpthread.git/blobdiff_plain/f1a1da6cf65a9d0e6858678f6c259025cf5d27fd..a03d92013c2a24ebc4e02e5d1f575787f8467f6b:/src/pthread_atfork.c diff --git a/src/pthread_atfork.c b/src/pthread_atfork.c index 724a7fb..b799f3f 100644 --- a/src/pthread_atfork.c +++ b/src/pthread_atfork.c @@ -38,7 +38,7 @@ pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) size_t idx; pthread_globals_t globals = _pthread_globals(); - OSSpinLockLock(&globals->pthread_atfork_lock); + _PTHREAD_LOCK(globals->pthread_atfork_lock); idx = globals->atfork_count++; if (idx == 0) { @@ -49,7 +49,7 @@ pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) kern_return_t kr; mach_vm_address_t storage = 0; mach_vm_size_t size = PTHREAD_ATFORK_MAX * sizeof(struct pthread_atfork_entry); - OSSpinLockUnlock(&globals->pthread_atfork_lock); + _PTHREAD_UNLOCK(globals->pthread_atfork_lock); kr = mach_vm_map(mach_task_self(), &storage, size, @@ -61,7 +61,7 @@ pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) VM_PROT_DEFAULT, VM_PROT_ALL, VM_INHERIT_DEFAULT); - OSSpinLockLock(&globals->pthread_atfork_lock); + _PTHREAD_LOCK(globals->pthread_atfork_lock); if (kr == KERN_SUCCESS) { if (globals->atfork == globals->atfork_storage) { globals->atfork = storage; @@ -69,9 +69,9 @@ pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) bzero(globals->atfork_storage, sizeof(globals->atfork_storage)); } else { // Another thread did vm_map first. - OSSpinLockUnlock(&globals->pthread_atfork_lock); + _PTHREAD_UNLOCK(globals->pthread_atfork_lock); mach_vm_deallocate(mach_task_self(), storage, size); - OSSpinLockLock(&globals->pthread_atfork_lock); + _PTHREAD_LOCK(globals->pthread_atfork_lock); } } else { res = ENOMEM; @@ -86,7 +86,7 @@ pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) e->parent = parent; e->child = child; } - OSSpinLockUnlock(&globals->pthread_atfork_lock); + _PTHREAD_UNLOCK(globals->pthread_atfork_lock); return res; } @@ -98,7 +98,7 @@ _pthread_fork_prepare(void) { pthread_globals_t globals = _pthread_globals(); - OSSpinLockLock(&globals->pthread_atfork_lock); + _PTHREAD_LOCK(globals->pthread_atfork_lock); size_t idx; for (idx = globals->atfork_count; idx > 0; --idx) { @@ -108,9 +108,9 @@ _pthread_fork_prepare(void) } } - OSSpinLockLock(&globals->psaved_self_global_lock); + _PTHREAD_LOCK(globals->psaved_self_global_lock); globals->psaved_self = pthread_self(); - OSSpinLockLock(&globals->psaved_self->lock); + _PTHREAD_LOCK(globals->psaved_self->lock); } // Called after the fork(2) system call returns to the parent process. @@ -120,8 +120,8 @@ _pthread_fork_parent(void) { pthread_globals_t globals = _pthread_globals(); - OSSpinLockUnlock(&globals->psaved_self->lock); - OSSpinLockUnlock(&globals->psaved_self_global_lock); + _PTHREAD_UNLOCK(globals->psaved_self->lock); + _PTHREAD_UNLOCK(globals->psaved_self_global_lock); size_t idx; for (idx = 0; idx < globals->atfork_count; ++idx) { @@ -130,7 +130,7 @@ _pthread_fork_parent(void) e->parent(); } } - OSSpinLockUnlock(&globals->pthread_atfork_lock); + _PTHREAD_UNLOCK(globals->pthread_atfork_lock); } // Called after the fork(2) system call returns to the new child process. @@ -140,7 +140,7 @@ void _pthread_fork_child(void) { pthread_globals_t globals = _pthread_globals(); - globals->psaved_self_global_lock = OS_SPINLOCK_INIT; + _PTHREAD_LOCK_INIT(globals->psaved_self_global_lock); __pthread_fork_child_internal(globals->psaved_self); __is_threaded = 0; pthread_workqueue_atfork_child(); @@ -158,5 +158,5 @@ _pthread_fork_child_postinit(void) e->child(); } } - globals->pthread_atfork_lock = OS_SPINLOCK_INIT; + _PTHREAD_LOCK_INIT(globals->pthread_atfork_lock); }