svn commit: r225980 - head/usr.bin/csup
Adrian Chadd
adrian at FreeBSD.org
Tue Oct 4 14:26:45 UTC 2011
Author: adrian
Date: Tue Oct 4 14:26:45 2011
New Revision: 225980
URL: http://svn.freebsd.org/changeset/base/225980
Log:
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
Modified:
head/usr.bin/csup/fixups.c
Modified: head/usr.bin/csup/fixups.c
==============================================================================
--- head/usr.bin/csup/fixups.c Tue Oct 4 14:25:10 2011 (r225979)
+++ head/usr.bin/csup/fixups.c Tue Oct 4 14:26:45 2011 (r225980)
@@ -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);
}
More information about the svn-src-head
mailing list