Author: jmallett
Date: Mon Nov  8 22:12:25 2010
New Revision: 215021
URL: http://svn.freebsd.org/changeset/base/215021

Log:
  Use macros rather than inline functions to lock and unlock mutexes, so that
  line number information is preserved in witness.
  
  Reviewed by:  jhb

Modified:
  head/sys/kern/subr_taskqueue.c

Modified: head/sys/kern/subr_taskqueue.c
==============================================================================
--- head/sys/kern/subr_taskqueue.c      Mon Nov  8 22:10:51 2010        
(r215020)
+++ head/sys/kern/subr_taskqueue.c      Mon Nov  8 22:12:25 2010        
(r215021)
@@ -68,23 +68,21 @@ struct taskqueue {
 #define        TQ_FLAGS_BLOCKED        (1 << 1)
 #define        TQ_FLAGS_PENDING        (1 << 2)
 
-static __inline void
-TQ_LOCK(struct taskqueue *tq)
-{
-       if (tq->tq_spin)
-               mtx_lock_spin(&tq->tq_mutex);
-       else
-               mtx_lock(&tq->tq_mutex);
-}
-
-static __inline void
-TQ_UNLOCK(struct taskqueue *tq)
-{
-       if (tq->tq_spin)
-               mtx_unlock_spin(&tq->tq_mutex);
-       else
-               mtx_unlock(&tq->tq_mutex);
-}
+#define        TQ_LOCK(tq)                                                     
\
+       do {                                                            \
+               if ((tq)->tq_spin)                                      \
+                       mtx_lock_spin(&(tq)->tq_mutex);                 \
+               else                                                    \
+                       mtx_lock(&(tq)->tq_mutex);                      \
+       } while (0)
+
+#define        TQ_UNLOCK(tq)                                                   
\
+       do {                                                            \
+               if ((tq)->tq_spin)                                      \
+                       mtx_unlock_spin(&(tq)->tq_mutex);               \
+               else                                                    \
+                       mtx_unlock(&(tq)->tq_mutex);                    \
+       } while (0)
 
 static __inline int
 TQ_SLEEP(struct taskqueue *tq, void *p, struct mtx *m, int pri, const char *wm,
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to