From: Wouter Wijngaards Date: Fri, 30 Nov 2007 18:14:48 +0000 (+0000) Subject: don't forget to lock it. X-Git-Tag: release-0.9~142 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1152a4c5e894e43299069f4095133fac6ab5175e;p=thirdparty%2Funbound.git don't forget to lock it. git-svn-id: file:///svn/unbound/trunk@793 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/libunbound/unbound.c b/libunbound/unbound.c index b4856ad3a..2810ff3c8 100644 --- a/libunbound/unbound.c +++ b/libunbound/unbound.c @@ -203,8 +203,12 @@ int ub_val_ctx_poll(struct ub_val_ctx* ctx) { struct timeval t; + int r; memset(&t, 0, sizeof(t)); - return pollit(ctx, &t); + lock_basic_lock(&ctx->rrpipe_lock); + r = pollit(ctx, &t); + lock_basic_unlock(&ctx->rrpipe_lock); + return r; } int @@ -212,7 +216,9 @@ ub_val_ctx_wait(struct ub_val_ctx* ctx) { /* TODO until no more queries outstanding */ while(1) { + lock_basic_lock(&ctx->rrpipe_lock); (void)pollit(ctx, NULL); + lock_basic_unlock(&ctx->rrpipe_lock); ub_val_ctx_process(ctx); } return UB_NOERROR;