]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
doh FS-3423
authorTamas Cseke <tamas.cseke@virtual-call-center.eu>
Thu, 24 May 2012 14:19:01 +0000 (16:19 +0200)
committerTamas Cseke <tamas.cseke@virtual-call-center.eu>
Thu, 24 May 2012 14:19:01 +0000 (16:19 +0200)
src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c

index dd84d8de111b90bab7376b46b80762c8af05ce16..fc38f9e2b29e2b196d66aff2165c6246b8c7e9e7 100644 (file)
@@ -320,7 +320,6 @@ static void add_session_elem_to_listener(listener_t *listener, session_elem_t *s
 }
 
 
-/* TODO lock */
 static void remove_session_elem_from_listener(listener_t *listener, session_elem_t *session_element)
 {
        switch_core_hash_delete(listener->sessions, session_element->uuid_str);
@@ -789,9 +788,8 @@ static void handle_exit(listener_t *listener, erlang_pid * pid)
        /* TODO - eliminate session destroy races and we shouldn't lock the session hash */
        switch_thread_rwlock_wrlock(listener->session_rwlock);
        if ((s = find_session_elem_by_pid(listener, pid))) {
-               if (remove_session_elem_from_listener(listener, s) == SWITCH_STATUS_SUCCESS) {
-                       destroy_session_elem(s);
-               }
+               remove_session_elem_from_listener(listener, s);
+               destroy_session_elem(s);
        }
        switch_thread_rwlock_wrlock(listener->session_rwlock);