diff options
author | Andy Wingo <wingo@pobox.com> | 2012-02-08 19:57:41 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-02-17 12:11:14 +0100 |
commit | 6a97b1f93aace5c7c976aef51d36b3ae9cfd5630 (patch) | |
tree | d62914e464bb680663453931973aef3cb4e187b5 /libguile/threads.c | |
parent | 2f745b64a1eb06e9e175a1b497d5270bebff9097 (diff) | |
download | guile-6a97b1f93aace5c7c976aef51d36b3ae9cfd5630.tar.gz |
install pthread_atfork handlers for guile's static mutexen
* libguile/async.c:
* libguile/deprecation.c:
* libguile/fluids.c:
* libguile/gc.c:
* libguile/instructions.c:
* libguile/ports.c:
* libguile/posix.c:
* libguile/strings.c:
* libguile/threads.c: Use the SCM_PTHREAD_ATFORK_LOCK_STATIC_MUTEX
mechanism to lock a number of static mutexen.
Diffstat (limited to 'libguile/threads.c')
-rw-r--r-- | libguile/threads.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/threads.c b/libguile/threads.c index d5c51eaf3..f78889b40 100644 --- a/libguile/threads.c +++ b/libguile/threads.c @@ -500,6 +500,7 @@ SCM_THREAD_LOCAL scm_i_thread *scm_i_current_thread = NULL; static scm_i_pthread_mutex_t thread_admin_mutex = SCM_I_PTHREAD_MUTEX_INITIALIZER; +SCM_PTHREAD_ATFORK_LOCK_STATIC_MUTEX (thread_admin_mutex); static scm_i_thread *all_threads = NULL; static int thread_count; @@ -2134,6 +2135,7 @@ static int threads_initialized_p = 0; /* This mutex is used by SCM_CRITICAL_SECTION_START/END. */ scm_i_pthread_mutex_t scm_i_critical_section_mutex; +SCM_PTHREAD_ATFORK_LOCK_STATIC_MUTEX (scm_i_critical_section_mutex); static SCM dynwind_critical_section_mutex; @@ -2149,6 +2151,7 @@ scm_dynwind_critical_section (SCM mutex) /*** Initialization */ scm_i_pthread_mutex_t scm_i_misc_mutex; +SCM_PTHREAD_ATFORK_LOCK_STATIC_MUTEX (scm_i_misc_mutex); #if SCM_USE_PTHREAD_THREADS pthread_mutexattr_t scm_i_pthread_mutexattr_recursive[1]; |