diff --git a/src/mod/endpoints/mod_rtmp/mod_rtmp.c b/src/mod/endpoints/mod_rtmp/mod_rtmp.c index 1e772866d0..2ee823da5b 100644 --- a/src/mod/endpoints/mod_rtmp/mod_rtmp.c +++ b/src/mod/endpoints/mod_rtmp/mod_rtmp.c @@ -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; }