X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Flog.c;h=38ecac7ef6f4a7962cd29828e4e3701cdae29500;hp=b407ad9076f1591fb8cbefd107005c8d818cd0fa;hb=05193e78a2553c93a61da19a39e1276b1a509bac;hpb=bc2c68cf9316d95c5b00444aaaa2f0a6127c1aa9 diff --git a/src/log.c b/src/log.c index b407ad9..38ecac7 100644 --- a/src/log.c +++ b/src/log.c @@ -33,6 +33,9 @@ #include #include #include +#if YAZ_POSIX_THREADS +#include +#endif static int l_level = YLOG_DEFAULT_LEVEL; @@ -102,12 +105,12 @@ static unsigned int next_log_bit = YLOG_LAST_BIT<<1; /* first dynamic bit */ static YAZ_MUTEX log_mutex = 0; -void yaz_log_lock(void) +static void yaz_log_lock(void) { yaz_mutex_enter(log_mutex); } -void yaz_log_unlock(void) +static void yaz_log_unlock(void) { yaz_mutex_leave(log_mutex); } @@ -123,7 +126,9 @@ static void internal_log_init(void) if (log_mutex == 0) yaz_mutex_create(&log_mutex); - +#if YAZ_POSIX_THREADS + pthread_atfork(yaz_log_lock, yaz_log_unlock, yaz_log_unlock); +#endif env = getenv("YAZ_LOG"); if (env) l_level = yaz_log_mask_str_x(env, l_level);