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); } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"