diff options
author | Michael Cahill <michael.cahill@wiredtiger.com> | 2015-02-11 21:14:18 +1100 |
---|---|---|
committer | Michael Cahill <michael.cahill@wiredtiger.com> | 2015-02-11 21:14:18 +1100 |
commit | a623fef81527f256f82ba8d52aa13d771f2cdb6b (patch) | |
tree | 4e5295f571b7952cc0417a79ca0c79b261baade2 | |
parent | 756f57105505fd9f33858ab4835bff51e34afe7b (diff) | |
download | mongo-a623fef81527f256f82ba8d52aa13d771f2cdb6b.tar.gz |
The checkpoint server should do a tiny wait to clear any pending signal, not an open-ended wait.
refs #1668
-rw-r--r-- | src/conn/conn_ckpt.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/conn/conn_ckpt.c b/src/conn/conn_ckpt.c index e1e667f5620..f38628617dd 100644 --- a/src/conn/conn_ckpt.c +++ b/src/conn/conn_ckpt.c @@ -92,12 +92,14 @@ __ckpt_server(void *arg) conn->ckpt_signalled = 0; /* - * In case the condition variable was already - * signalled, do a zero-length wait to clear it so we - * don't do another checkpoint immediately. + * In case we crossed the log limit during the + * checkpoint and the condition variable was already + * signalled, do a tiny wait to clear it so we don't do + * another checkpoint immediately. */ - WT_ERR(__wt_cond_wait(session, conn->ckpt_cond, 0)); + WT_ERR(__wt_cond_wait(session, conn->ckpt_cond, 1)); } + /* * Wait... * NOTE: If the user only configured logsize, then usecs |