diff --git a/src/modules/HTTPLoop/log.c b/src/modules/HTTPLoop/log.c index a4cad9fbba00785f10488eeb5f73d65161bec491..17aba1a987a2f50e090bca2fc5c0728b460608fa 100644 --- a/src/modules/HTTPLoop/log.c +++ b/src/modules/HTTPLoop/log.c @@ -90,12 +90,14 @@ void f_aap_log_as_array(INT32 args) struct log *l = LTHIS->log; int n = 0; pop_n_elems(args); - + + THREADS_ALLOW(); mt_lock( &l->log_lock ); le = l->log_head; l->log_head = l->log_tail = 0; mt_unlock( &l->log_lock ); - + THREADS_DISALLOW(); + while(le) { struct log_entry *l; @@ -127,11 +129,13 @@ void f_aap_log_size(INT32 UNUSED(args)) push_int(0); return; } + THREADS_ALLOW(); mt_lock( &l->log_lock ); le = l->log_head; while((le = le->next)) n++; mt_unlock( &l->log_lock ); + THREADS_DISALLOW(); push_int(n); }