Date: Mon, 11 Sep 2000 23:34:55 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: Joerg Micheel <joerg@cs.waikato.ac.nz> Cc: Greg Lehey <grog@lemis.com>, Frank Mayhar <frank@exit.com>, John Baldwin <jhb@pike.osd.bsdi.com>, Mark Murray <markm@FreeBSD.ORG>, FreeBSD-arch@FreeBSD.ORG Subject: Re: cvs commit: src/sys/conf files src/sys/sys random.h src/sys/dev/randomdev hash.c hash.h harvest.c randomdev.c yarrow.c yarro Message-ID: <Pine.BSF.4.21.0009112334310.70549-100000@beppo.feral.com> In-Reply-To: <20000912145255.A41113@cs.waikato.ac.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
> > At Tandem, we used semaphores exclusively (well, we had a mutex > > instruction, but it was really interrupt lockout). As far as I can > > recall, the semaphore counter was always 1, so the effect was > > identical to the current blocking "mutexes". > > I liked the model Sun chose for Solaris. They have mutex', rw_locks, > condition variables. I don't like semaphores. Mutexes are for short > locks. Condition variables are for long-term waits, they are associated > with a mutex. You can only sleep/wakeup a CV when holding the associated > with it, which prevents races. When having to sleep on a CV the kernel > would unlock the mutex and reaquire it for the running thread before > returning. It encouraged very sloppy programming. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009112334310.70549-100000>