Date: Fri, 11 Oct 2002 14:06:40 +0300 From: Peter Pentchev <roam@ringlet.net> To: Andrei Cojocaru <spinlock_lists@empirequest.com> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Question about light-weight mutex (kind of) Message-ID: <20021011110640.GS376@straylight.oblivion.bg> In-Reply-To: <20021011110508.GR376@straylight.oblivion.bg> References: <000d01c270c8$937a2160$0200a8c0@twothousand> <20021011110508.GR376@straylight.oblivion.bg>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Fri, Oct 11, 2002 at 02:05:08PM +0300, Peter Pentchev wrote: > On Thu, Oct 10, 2002 at 07:50:28PM -0600, Andrei Cojocaru wrote: > > Hello, > > > > I have a question, please include me in the reply specifically because I'm > > not subscribed to the mailing list. Thanks > > > > I want a thread to spin atomically on a value until it's equal to 1(i.e. > > it's waiting for an event), how do I do that? I have no idea.. I want this > > to be fast, not have to use a mutex each time to protect the value > > I have an idea of how to do it using atomic assembly statements but I don't > > want to use assmebly, I want to know if FreeBSD has built-in stuff for this. > > > > Please help thanks. > > > > This is required because I'm building R/W locks for a transaction system I'm > > working on, and I need a way for a thread waiting on a lock to be notified > > when a lock is gotten (and without having the thread block [that's why I > > want it to spin]). Any hints would be appreciated thanks, once again. > > Would pthread_rwlock_tryrdlock(3) and pthread_rwlock_tryrdlock(3), > combined with an usleep() or something, do the trick? Of course, the second one was meant to be pthread_rwlock_trywrlock(3)... G'luck, Peter -- Peter Pentchev roam@ringlet.net roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 Hey, out there - is it *you* reading me, or is it someone else? [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE9prDA7Ri2jRYZRVMRAhuQAJ9K48926OOnfaLkdk+Bk/1AMh8XCgCfaBW1 GbOjBY+grYyUxL9PfF4xgIU= =xkYo -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021011110640.GS376>
