Handle the situation where fixups_close() has been called but more fixups
are still available on the queue. Without this, the fixups producer/consumer pipeline will artifically terminate before all of the fixups have been processed, leading to incomplete updates and generally quite unhappy users. Submitted by: mux
This commit is contained in:
parent
787ac3452c
commit
c6ae748382
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=225980
@ -141,7 +141,7 @@ fixups_get(struct fixups *f)
|
||||
fixups_lock(f);
|
||||
while (f->size == 0 && !f->closed)
|
||||
pthread_cond_wait(&f->cond, &f->lock);
|
||||
if (f->closed) {
|
||||
if (f->closed && f->size == 0) {
|
||||
fixups_unlock(f);
|
||||
return (NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user