]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix deadlock potential of chan_mobile.c:mbl_ast_hangup().
authorRichard Mudgett <rmudgett@digium.com>
Mon, 29 Aug 2011 21:05:43 +0000 (21:05 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 29 Aug 2011 21:05:43 +0000 (21:05 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333784 65c4cc65-6c06-0410-ace0-fbb531ad65f3

addons/chan_mobile.c

index 75059e54788c58871f5274df3f4bc4bfc5a1391d..a725cc5a61a659464551c27cbd0d44a008bc9394 100644 (file)
@@ -1321,21 +1321,10 @@ static int mbl_queue_hangup(struct mbl_pvt *pvt)
 
 static int mbl_ast_hangup(struct mbl_pvt *pvt)
 {
-       int res = 0;
-       for (;;) {
-               if (pvt->owner) {
-                       if (ast_channel_trylock(pvt->owner)) {
-                               DEADLOCK_AVOIDANCE(&pvt->lock);
-                       } else {
-                               res = ast_hangup(pvt->owner);
-                               /* no need to unlock, ast_hangup() frees the
-                                * channel */
-                               break;
-                       }
-               } else
-                       break;
+       if (pvt->owner) {
+               ast_hangup(pvt->owner);
        }
-       return res;
+       return 0;
 }
 
 /*!