Browse Source

tm: unlock replies in case of drop

- needed after yesterday fix from Andrei
Daniel-Constantin Mierla 15 years ago
parent
commit
5ff3c06aa9
1 changed files with 4 additions and 0 deletions
  1. 4 0
      modules/tm/t_reply.c

+ 4 - 0
modules/tm/t_reply.c

@@ -2024,6 +2024,10 @@ int reply_received( struct sip_msg  *p_msg )
 		replies_locked=1;
 		replies_locked=1;
 		run_top_route(onreply_rt.rlist[t->on_reply], p_msg, &ctx);
 		run_top_route(onreply_rt.rlist[t->on_reply], p_msg, &ctx);
 		if ((ctx.run_flags&DROP_R_F)  && (msg_status<200)) {
 		if ((ctx.run_flags&DROP_R_F)  && (msg_status<200)) {
+			if (unlikely(replies_locked)) {
+				replies_locked = 0;
+				UNLOCK_REPLIES( t );
+			}
 			goto done;
 			goto done;
 		}
 		}
 		/* transfer current message context back to t */
 		/* transfer current message context back to t */