svn commit: r214670 - user/davidxu/libthr/lib/libthr/thread
David Xu
davidxu at FreeBSD.org
Tue Nov 2 09:16:41 UTC 2010
Author: davidxu
Date: Tue Nov 2 09:16:41 2010
New Revision: 214670
URL: http://svn.freebsd.org/changeset/base/214670
Log:
Refetch lockword before retrying.
Modified:
user/davidxu/libthr/lib/libthr/thread/thr_mutex.c
Modified: user/davidxu/libthr/lib/libthr/thread/thr_mutex.c
==============================================================================
--- user/davidxu/libthr/lib/libthr/thread/thr_mutex.c Tue Nov 2 09:15:27 2010 (r214669)
+++ user/davidxu/libthr/lib/libthr/thread/thr_mutex.c Tue Nov 2 09:16:41 2010 (r214670)
@@ -317,6 +317,7 @@ set_lockword(struct pthread_mutex *m)
while ((old & MTX_LOCKED) == 0) {
if (atomic_cmpset_acq_32(&m->m_lockword, old, old|MTX_LOCKED))
return (0);
+ old = m->m_lockword;
}
return (EBUSY);
}
More information about the svn-src-user
mailing list