]> git.saurik.com Git - redis.git/blobdiff - src/bio.c
enable zmalloc thread safety support now that we have the bio.c background thread.
[redis.git] / src / bio.c
index fce0658f1669ef19da543b95e3910ef52f079d43..9c2695835cab1ad7137dafa20da27de1be3f12f5 100644 (file)
--- a/src/bio.c
+++ b/src/bio.c
@@ -26,7 +26,7 @@
 
 static pthread_mutex_t bio_mutex;
 static pthread_cond_t bio_condvar;
-list *bio_jobs;
+static list *bio_jobs;
 
 /* This structure represents a background Job. It is only used locally to this
  * file as the API deos not expose the internals at all. */
@@ -72,6 +72,7 @@ void bioCreateBackgroundJob(int type, void *data) {
     job->data = data;
     pthread_mutex_lock(&bio_mutex);
     listAddNodeTail(bio_jobs,job);
+    pthread_cond_signal(&bio_condvar);
     pthread_mutex_unlock(&bio_mutex);
 }
 
@@ -85,7 +86,7 @@ void *bioProcessBackgroundJobs(void *arg) {
         listNode *ln;
 
         /* The loop always starts with the lock hold. */
-        if (listLength(server.io_newjobs) == 0) {
+        if (listLength(bio_jobs) == 0) {
             pthread_cond_wait(&bio_condvar,&bio_mutex);
             continue;
         }