Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

switch_core_rwlock.c File Reference


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)


Function Documentation

switch_status_t switch_core_session_read_lock 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:

void switch_core_session_rwunlock switch_core_session_t session  ) 
 

00093 {
00094 #endif
00095         switch_thread_rwlock_unlock(session->rwlock);
00096 
00097 }

Here is the call graph for this function:

void switch_core_session_write_lock switch_core_session_t session  ) 
 

00081 {
00082 #endif
00083         switch_thread_rwlock_wrlock(session->rwlock);
00084 }

Here is the call graph for this function:


Generated on Mon May 26 22:06:52 2008 for FreeSWITCH by  doxygen 1.3.9.1