mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
Merged revisions 126573 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r126573 | russell | 2008-06-30 11:05:08 -0500 (Mon, 30 Jun 2008) | 10 lines Fix a typo in the non-DEBUG_THREADS version of the recently added DEADLOCK_AVOIDANCE() macro. This caused the lock to not actually be released, and as a result, not avoid deadlocks at all. This resolves the issues reported in the last while about Asterisk locking up all over the place (and most commonly, in chan_iax2). (closes issue #12927) (closes issue #12940) (closes issue #12925) (potentially closes others ...) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1469,14 +1469,14 @@ static inline int _ast_rwlock_trywrlock(ast_rwlock_t *t, const char *name,
|
||||
#else /* !DEBUG_THREADS */
|
||||
|
||||
#define CHANNEL_DEADLOCK_AVOIDANCE(chan) \
|
||||
ast_channel_lock(chan); \
|
||||
ast_channel_unlock(chan); \
|
||||
usleep(1); \
|
||||
ast_channel_unlock(chan);
|
||||
ast_channel_lock(chan);
|
||||
|
||||
#define DEADLOCK_AVOIDANCE(lock) \
|
||||
ast_mutex_lock(lock); \
|
||||
ast_mutex_unlock(lock); \
|
||||
usleep(1); \
|
||||
ast_mutex_unlock(lock);
|
||||
ast_mutex_lock(lock);
|
||||
|
||||
#define DLA_UNLOCK(lock) ast_mutex_unlock(lock)
|
||||
|
||||
|
Reference in New Issue
Block a user