]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Seems the session wasn't coming to the hangup in a locked state.
authorWilliam King <william.king@quentustech.com>
Mon, 13 May 2013 15:28:09 +0000 (08:28 -0700)
committerWilliam King <william.king@quentustech.com>
Fri, 17 May 2013 18:36:30 +0000 (11:36 -0700)
src/mod/endpoints/mod_rtmp/mod_rtmp.c

index 1e772866d01cfc0557ae68b2d01878796b39eef5..2ee823da5b4e433ad72daf1aa68f697c715c7f9e 100644 (file)
@@ -250,6 +250,7 @@ switch_status_t rtmp_on_hangup(switch_core_session_t *session)
        rtmp_private_t *tech_pvt = NULL;
        rtmp_session_t *rsession = NULL;
 
+       switch_core_session_write_lock(session);
        channel = switch_core_session_get_channel(session);
        assert(channel != NULL);
 
@@ -299,6 +300,7 @@ switch_status_t rtmp_on_hangup(switch_core_session_t *session)
        switch_thread_rwlock_unlock(rsession->rwlock);
 
  done:
+       switch_core_session_rwunlock(session);
        return SWITCH_STATUS_SUCCESS;
 }