mirror of
https://github.com/fluencelabs/redis
synced 2025-05-12 02:37:11 +00:00
Remove backgroud jobs from the queue only when the processing was completed, and not just started.
This commit is contained in:
parent
c67e8d3bf6
commit
693618f1c1
@ -118,7 +118,6 @@ void *bioProcessBackgroundJobs(void *arg) {
|
||||
/* Pop the job from the queue. */
|
||||
ln = listFirst(bio_jobs[type]);
|
||||
job = ln->value;
|
||||
listDelNode(bio_jobs[type],ln);
|
||||
/* It is now possible to unlock the background system as we know have
|
||||
* a stand alone job structure to process.*/
|
||||
pthread_mutex_unlock(&bio_mutex[type]);
|
||||
@ -134,6 +133,7 @@ void *bioProcessBackgroundJobs(void *arg) {
|
||||
/* Lock again before reiterating the loop, if there are no longer
|
||||
* jobs to process we'll block again in pthread_cond_wait(). */
|
||||
pthread_mutex_lock(&bio_mutex[type]);
|
||||
listDelNode(bio_jobs[type],ln);
|
||||
bio_pending[type]--;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user