浏览代码

dmq: fix inter-lock on error

triggered by intermittent DNS resolution error. dmq workers
were getting locked at dmq_notification_callback_f() due to
this missing lock_release()
Victor Seva 1 年之前
父节点
当前提交
0d240e4e0d
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/modules/dmq/notification_peer.c

+ 4 - 2
src/modules/dmq/notification_peer.c

@@ -405,8 +405,10 @@ int extract_node_list(dmq_node_list_t *update_list, struct sip_msg *msg)
 		/* trim the \r, \n and \0's */
 		trim_r(tmp_uri);
 		find = build_dmq_node(&tmp_uri, 0);
-		if(find == NULL)
-			return -1;
+		if(find == NULL) {
+			LM_ERR("error building dmq node\n");
+			goto error;
+		}
 		ret = find_dmq_node(update_list, find);
 
 		if(!ret) {