Merge remote-tracking branch 'couchbase/3.0.x' into sherlock 81/64981/1
authorDave Rigby <daver@couchbase.com>
Thu, 16 Jun 2016 16:59:54 +0000 (17:59 +0100)
committerDave Rigby <daver@couchbase.com>
Thu, 16 Jun 2016 16:59:54 +0000 (17:59 +0100)
* couchbase/3.0.x:
  MB-19226: Address potential data races in the warmup code
  MB-19225: Fix data race on Flusher::taskId
  MB-19225: Fix race in Flusher._state
  MB-19224: Address possible data race with global task's waketime

Change-Id: Idc461799bc50bd1274f3ffafab4b3257a024327b

1  2 
src/executorthread.cc
src/flusher.cc
src/taskqueue.cc
src/tasks.cc
src/tasks.h
src/warmup.cc

Simple merge
diff --cc src/flusher.cc
@@@ -151,11 -150,8 +151,10 @@@ void Flusher::start() 
  }
  
  void Flusher::wake(void) {
-     LockHolder lh(taskMutex);
 -    cb_assert(taskId > 0);
 -    ExecutorPool::get()->wake(taskId);
 +    // taskId becomes zero if the flusher were stopped
 +    if (taskId > 0) {
 +        ExecutorPool::get()->wake(taskId);
 +    }
  }
  
  bool Flusher::step(GlobalTask *task) {
Simple merge
diff --cc src/tasks.cc
Simple merge
diff --cc src/tasks.h
Simple merge
diff --cc src/warmup.cc
Simple merge