Ver código fonte

tm: detect local uac transaction not inserted in the hash table

Daniel-Constantin Mierla 6 anos atrás
pai
commit
cf0008d843
1 arquivos alterados com 2 adições e 1 exclusões
  1. 2 1
      src/modules/tm/uac.c

+ 2 - 1
src/modules/tm/uac.c

@@ -589,7 +589,8 @@ error2:
 	if (is_ack) {
 		free_cell(new_cell);
 	} else {
-		if(atomic_get_int(&new_cell->ref_count)==0) {
+		if((new_cell->next_c == 0 && new_cell->prev_c == 0)
+				|| (atomic_get_int(&new_cell->ref_count)==0)) {
 			free_cell(new_cell);
 		} else {
 			UNREF_FREE(new_cell, 0);