mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 16:40:50 +00:00
Remove backgroud jobs from the queue only when the processing was completed, and not just started.
This commit is contained in:
parent
50be9b97bc
commit
1317b7c233
@ -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