diff --git a/src/encode.c b/src/encode.c index b20bce0cacfb61e2bc992fe03a79624358521f69..a040e3c9319e21939de3b8b62476d8d5eb449cbe 100644 --- a/src/encode.c +++ b/src/encode.c @@ -24,7 +24,7 @@ #include "stuff.h" #include "version.h" -RCSID("$Id: encode.c,v 1.31 1999/04/12 02:24:14 hubbe Exp $"); +RCSID("$Id: encode.c,v 1.32 1999/07/19 00:34:58 hubbe Exp $"); #ifdef _AIX #include <net/nh.h> @@ -140,8 +140,7 @@ static void code_number(INT32 num, struct encode_data *data) #ifdef _REENTRANT static void do_enable_threads(void) { - if(!--threads_disabled) - co_broadcast(&threads_disabled_change); + exit_threads_disable(NULL); } #endif @@ -931,7 +930,7 @@ static void decode_value2(struct decode_data *data) #ifdef _REENTRANT ONERROR err; - threads_disabled++; + low_init_threads_disable(); SET_ONERROR(err, do_enable_threads, 0); #endif @@ -1102,8 +1101,7 @@ static void decode_value2(struct decode_data *data) #ifdef _REENTRANT UNSET_ONERROR(err); - if(!--threads_disabled) - co_broadcast(&threads_disabled_change); + exit_threads_disable(NULL); #endif return; }