]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
don't forget to lock it.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 30 Nov 2007 18:14:48 +0000 (18:14 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 30 Nov 2007 18:14:48 +0000 (18:14 +0000)
git-svn-id: file:///svn/unbound/trunk@793 be551aaa-1e26-0410-a405-d3ace91eadb9

libunbound/unbound.c

index b4856ad3a7c39d0501bedf64bfaaaddf013dcc94..2810ff3c82a5f342cd3fb10aa6f65e908692b394 100644 (file)
@@ -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;