summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2007-11-15 16:20:47 +0000
committerLuigi Rizzo <rizzo@icir.org>2007-11-15 16:20:47 +0000
commit09d9cce1d8df6e181b60cd00fb1708ebe012069d (patch)
tree893184ac838560b42d47dd3e9c413812c920645b /include
parent139978dbb7388060c3d24fdd3a356744170c1ef8 (diff)
access channel locks through ast_channel_lock/unlock/trylock and not
through ast_mutex primitives. To detect all occurrences, I have renamed the lock field in struct ast_channel so it is clear that it shouldn't be used directly. There are some uses in res/res_features.c (see details of the diff) that are error prone as they try and lock two channels without caring about the order (or without explaining why it is safe). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/channel.h2
-rw-r--r--include/asterisk/lock.h6
2 files changed, 4 insertions, 4 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index 15af0c722..327096d55 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -421,7 +421,7 @@ struct ast_channel {
directly, use ast_softhangup() */
time_t whentohangup; /*!< Non-zero, set to actual time when channel is to be hung up */
pthread_t blocker; /*!< If anyone is blocking, this is them */
- ast_mutex_t lock; /*!< Lock, can be used to lock a channel for some operations - see ast_channel_lock() */
+ ast_mutex_t lock_dont_use; /*!< Lock, can be used to lock a channel for some operations - see ast_channel_lock() */
const char *blockproc; /*!< Procedure causing blocking */
const char *appl; /*!< Current application */
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index c04d00aaa..52164ed03 100644
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -1167,13 +1167,13 @@ AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
#ifndef DEBUG_CHANNEL_LOCKS
/*! \brief Lock a channel. If DEBUG_CHANNEL_LOCKS is defined
in the Makefile, print relevant output for debugging */
-#define ast_channel_lock(x) ast_mutex_lock(&x->lock)
+#define ast_channel_lock(x) ast_mutex_lock(&x->lock_dont_use)
/*! \brief Unlock a channel. If DEBUG_CHANNEL_LOCKS is defined
in the Makefile, print relevant output for debugging */
-#define ast_channel_unlock(x) ast_mutex_unlock(&x->lock)
+#define ast_channel_unlock(x) ast_mutex_unlock(&x->lock_dont_use)
/*! \brief Try locking a channel. If DEBUG_CHANNEL_LOCKS is defined
in the Makefile, print relevant output for debugging */
-#define ast_channel_trylock(x) ast_mutex_trylock(&x->lock)
+#define ast_channel_trylock(x) ast_mutex_trylock(&x->lock_dont_use)
#else
struct ast_channel;