Browse code

transaction deadlock: quick attempt to avoid deadlock

Václav Kubart authored on 15/01/2013 07:01:02 • Raphael Coeffic committed on 06/03/2013 11:01:04
Showing 2 changed files
... ...
@@ -180,6 +180,7 @@ void trans_timer::fire()
180 180
 		// 1. it is not yet deleted in the wheeltimer
181 181
 		// 2. we have already set a new one
182 182
 		// -> anyway, don't fire the old one !!!
183
+                bucket->unlock();
183 184
 		return;
184 185
 	    }
185 186
 
... ...
@@ -1179,6 +1179,7 @@ int _trans_layer::cancel(trans_ticket* tt, const cstring& hdrs)
1179 1179
 	ERROR("Parser failed on generated request\n");
1180 1180
 	ERROR("Message was: <%.*s>\n",p_msg->len,p_msg->buf);
1181 1181
 	delete p_msg;
1182
+	bucket->unlock();
1182 1183
 	return MALFORMED_SIP_MSG;
1183 1184
     }
1184 1185