Functions | |
| switch_status_t | switch_core_session_signal_lock (switch_core_session_t *session) |
| switch_status_t | switch_core_session_signal_unlock (switch_core_session_t *session) |
| switch_status_t | switch_core_session_read_lock (switch_core_session_t *session) |
| void | switch_core_session_write_lock (switch_core_session_t *session) |
| void | switch_core_session_rwunlock (switch_core_session_t *session) |
|
|
00053 {
00054 switch_status_t status = SWITCH_STATUS_FALSE;
00055
00056 if (session->rwlock) {
00057 if (switch_test_flag(session, SSF_DESTROYED)) {
00058 status = SWITCH_STATUS_FALSE;
00059 #ifdef SWITCH_DEBUG_RWLOCKS
00060 switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Read lock FAIL\n", switch_channel_get_name(session->channel));
00061 #endif
00062 } else {
00063 status = (switch_status_t) switch_thread_rwlock_tryrdlock(session->rwlock);
00064 #ifdef SWITCH_DEBUG_RWLOCKS
00065 switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Read lock AQUIRED\n",
00066 switch_channel_get_name(session->channel));
00067 #endif
00068 }
00069 }
00070
00071 return status;
00072 }
|
Here is the call graph for this function:

|
|
00093 {
00094 #endif
00095 switch_thread_rwlock_unlock(session->rwlock);
00096
00097 }
|
Here is the call graph for this function:

|
|
00081 {
00082 #endif
00083 switch_thread_rwlock_wrlock(session->rwlock);
00084 }
|
Here is the call graph for this function:

1.3.9.1