diff --git a/daemon/call.c b/daemon/call.c index 0cc1331b3..18577e641 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -533,7 +533,6 @@ drop: good: mutex_unlock(&cs->lock); mutex_unlock(&c->lock); - ; } void xmlrpc_kill_calls(void *p) { @@ -642,6 +641,7 @@ static void callmaster_timer(void *ptr) { u_int64_t d; struct stats tmpstats; struct callstream *cs; + int j; ZERO(hlp); @@ -681,12 +681,17 @@ static void callmaster_timer(void *ptr) { mutex_unlock(&cs->lock); next: + hlp.ports[ke->target.target_port] = NULL; g_slice_free1(sizeof(*ke), ke); i = g_list_delete_link(i, i); if (cs) obj_put(cs); } + for (j = 0; j < (sizeof(hlp.ports) / sizeof(*hlp.ports)); j++) + if (hlp.ports[j]) + obj_put(hlp.ports[j]->up->up); + if (!hlp.del) return; diff --git a/tests/simulator.sh b/tests/simulator.sh index 183f9bba6..7c946d901 100755 --- a/tests/simulator.sh +++ b/tests/simulator.sh @@ -1,4 +1,5 @@ #!/bin/bash +# # ulimit -n 100000 # # G_SLICE=always-malloc valgrind --leak-check=full --track-origins=yes --show-possibly-lost=yes ./mediaproxy-ng -t 0 -i $IP -l 25060 -f pipe_o() {