Update to WiredTiger 1.6.3. Fix a condition where a mutex was unlocked twice on eagain when queues were all full.
This commit is contained in:
parent
420b658e27
commit
bd0323af7a
2 changed files with 4 additions and 6 deletions
|
@ -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);
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue