cvs commit: src/sys/sys proc.h src/sys/kern kern_thread.c subr_sleepqueue.c

Daniel Eischen eischen at
Wed Apr 28 14:21:03 PDT 2004

On Wed, 28 Apr 2004, Mike Silbersack wrote:

> On Wed, 28 Apr 2004, Daniel Eischen wrote:
> >   Keep track of threads waiting in kse_release() to avoid a race
> >   condition where kse_wakeup() doesn't yet see them in (interruptible)
> >   sleep queues.  Also add an upcall check to sleepqueue_catch_signals()
> >   suggested by jhb.
> >
> >   This commit should fix recent mysql hangs.
> >
> >   Reviewed by:    jhb, davidxu
> >   Mysql'd by:     Robin P. Blanchard <robin.blanchard at gactr uga edu>
> Thanks, I'm glad to hear that it's fixed.
> Interestingly enough, in addition to stumbling upon this problem with
> mysql, the benchmarking I'm doing for a class project also found a problem
> in the mysql client libraries.  For some reasons, when selecting blobs,
> libmysql will get into a loop where it does 4 byte reads.  Yes, it will
> read entire 100K objects 4 bytes at a time.  I'll post about this to the
> relevant mailing lists next week...

That sounds like a mysql bug.  The threads libraries (except for
libc_r) don't do anything with read().

Dan Eischen

More information about the cvs-src mailing list