diff --git a/c_src/async_nif.h b/c_src/async_nif.h index 92ebe66..07b2d39 100644 --- a/c_src/async_nif.h +++ b/c_src/async_nif.h @@ -337,11 +337,9 @@ async_nif_enqueue_req(struct async_nif_state* async_nif, struct async_nif_req_en } /* If the for loop finished then we didn't find a suitable queue for this - request, meaning we're backed up so trigger eagain. */ - if (i == async_nif->num_queues) { - enif_mutex_unlock(q->reqs_mutex); - return 0; - } + request, meaning we're backed up so trigger eagain. Note that if we left + the loop in this way we hold no lock. */ + if (i == async_nif->num_queues) return 0; /* Add the request to the queue. */ STAILQ_INSERT_TAIL(&q->reqs, req, entries); diff --git a/c_src/build_deps.sh b/c_src/build_deps.sh index 15608ef..324350e 100755 --- a/c_src/build_deps.sh +++ b/c_src/build_deps.sh @@ -12,7 +12,7 @@ set -e WT_REPO=http://github.com/wiredtiger/wiredtiger.git WT_BRANCH= -WT_REF="tags/1.6.2" +WT_REF="tags/1.6.3" WT_DIR=wiredtiger-`basename $WT_REF` SNAPPY_VSN="1.0.4"