Date: Tue, 31 Jul 2001 15:06:57 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_synch.c src/sys/sys systm.h Message-ID: <200107312206.f6VM6v670782@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2001/07/31 15:06:57 PDT Modified files: sys/kern kern_synch.c sys/sys systm.h Log: Apply the cluebat to myself and undo the await() -> mawait() rename. The asleep() and await() functions split the functionality of msleep() up into two halves. Only the asleep() half (which is what puts the process on the sleep queue) actually needs the lock usually passed to msleep() held to prevent lost wakeups. await() does not need the lock held, so the lock can be released prior to calling await() and does not need to be passed in to the await() function. Typical usage of these functions would be as follows: mtx_lock(&foo_mtx); ... do stuff ... asleep(&foo_cond, PRIxx, "foowt", hz); ... mtx_unlock&foo_mtx); ... await(-1, -1); Inspired by: dillon on the couch at Usenix Revision Changes Path 1.150 +16 -32 src/sys/kern/kern_synch.c 1.147 +2 -3 src/sys/sys/systm.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107312206.f6VM6v670782>