[prev in list] [next in list] [prev in thread] [next in thread]
List: semsdev
Subject: [Semsdev] [patch] lockup in the trans_layer
From: Szokovacs Robert <robert.szokovacs () gamma ! co ! uk>
Date: 2012-08-30 16:26:32
Message-ID: 503F9438.5070902 () gamma ! co ! uk
[Download RAW message or body]
Hi,
I have found a lockup in _trans_layer::send_reply(), if an already
closed transaction was replied, the function returns without releasing
the lock. This was probably introduced when the checking was moved from
update_uas_reply() to send_reply(). I could trigger it when handling the
CANCEL message: my application replied it with 200, but since 1.5.0, the
SEMS core also replies it. The attached patch fixes the issue.
br
Szo
["trans_layer.patch" (text/x-patch)]
diff --git a/core/sip/trans_layer.cpp b/core/sip/trans_layer.cpp
index e106ca3..fc649e8 100644
--- a/core/sip/trans_layer.cpp
+++ b/core/sip/trans_layer.cpp
@@ -132,6 +132,7 @@ int _trans_layer::send_reply(trans_ticket* tt,
}
if(t->reply_status >= 200){
+ bucket->unlock();
ERROR("Transaction has already been closed with a final reply\n");
return -1;
}
_______________________________________________
Semsdev mailing list
Semsdev@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/semsdev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic