Date: Fri, 20 Feb 2004 10:02:01 -0500 (EST) From: Daniel Eischen <eischen@vigrid.com> To: Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?= <des@des.no> Cc: threads@freebsd.org Subject: Re: cross-thread locking Message-ID: <Pine.GSO.4.10.10402200935470.23368-100000@pcnet5.pcnet.com> In-Reply-To: <xzp8yix7vae.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Feb 2004, Dag-Erling [iso-8859-1] Sm=F8rgrav wrote: > - What happens when a thread locks a mutex and then starts another > thread? Does the new thread in any way inherit the lock, or will it > have to acquire its own? No, it doesn't inherit any locks. > - What about spin locks? Are there any semantic differences between > mutexes and spin locks in POSIX, or are spin locks simply mutexes > that spin instead of sleeping? POSIX differentiates between spinlocks and mutexes, and that is why there is a pthread_spinlock_t instead of using pthread_mutex_t for both lock operations. I believe the implementation is allowed to spin indefinitely or schedule another thread if the lock is busy. I can't find a rationale for spinlocks; I _thought_ there was one in some draft of the spec that I had read. I wouldn't really advocate using spinlocks due to possible priority inversion problems and wasting cycles. --=20 Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10402200935470.23368-100000>