PERFORCE change 94303 for review
John Baldwin
jhb at FreeBSD.org
Thu Mar 30 15:49:23 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=94303
Change 94303 by jhb at jhb_slimer on 2006/03/30 15:48:24
Add an sx_xlocked() macro. Grrr.
Affected files ...
.. //depot/projects/smpng/sys/sys/sx.h#17 edit
Differences ...
==== //depot/projects/smpng/sys/sys/sx.h#17 (text+ko) ====
@@ -76,6 +76,7 @@
SYSUNINIT(name##_sx_sysuninit, SI_SUB_LOCK, SI_ORDER_MIDDLE, \
sx_destroy, (sxa))
+#define sx_xlocked(sx) ((sx)->sx_cnt < 0 && (sx)->sx_xholder == curthread)
#define sx_slock(sx) _sx_slock((sx), LOCK_FILE, LOCK_LINE)
#define sx_xlock(sx) _sx_xlock((sx), LOCK_FILE, LOCK_LINE)
#define sx_try_slock(sx) _sx_try_slock((sx), LOCK_FILE, LOCK_LINE)
@@ -86,7 +87,7 @@
#define sx_downgrade(sx) _sx_downgrade((sx), LOCK_FILE, LOCK_LINE)
#define sx_unlock(sx) \
do { \
- if ((sx)->sx_cnt < 0) \
+ if (sx_xlocked(sx)) \
sx_xunlock(sx); \
else \
sx_sunlock(sx); \
More information about the p4-projects
mailing list