git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10327 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-11-11 13:32:11 +00:00
parent de495e8b94
commit 4549a90d63
1 changed files with 12 additions and 10 deletions

View File

@ -414,12 +414,15 @@ SWITCH_STANDARD_APP(socket_function)
if (switch_test_flag(listener, LFLAG_ASYNC)) { if (switch_test_flag(listener, LFLAG_ASYNC)) {
launch_listener_thread(listener); launch_listener_thread(listener);
switch_ivr_park(session, NULL); switch_ivr_park(session, NULL);
return;
} else { } else {
listener_run(NULL, (void *) listener); listener_run(NULL, (void *) listener);
} }
while (switch_test_flag(listener, LFLAG_SESSION)) { if (switch_channel_get_state(channel) >= CS_HANGUP) {
switch_yield(100000); while (switch_test_flag(listener, LFLAG_SESSION)) {
switch_yield(100000);
}
} }
} }
@ -1602,8 +1605,13 @@ static void *SWITCH_THREAD_FUNC listener_run(switch_thread_t *thread, void *obj)
switch_mutex_lock(globals.listener_mutex); switch_mutex_lock(globals.listener_mutex);
prefs.threads++; prefs.threads++;
switch_mutex_unlock(globals.listener_mutex); switch_mutex_unlock(globals.listener_mutex);
switch_assert(listener != NULL); switch_assert(listener != NULL);
if ((session = listener->session)) {
channel = switch_core_session_get_channel(session);
switch_core_session_read_lock(session);
}
if (prefs.acl_count && listener->sa && !switch_strlen_zero(listener->remote_ip)) { if (prefs.acl_count && listener->sa && !switch_strlen_zero(listener->remote_ip)) {
uint32_t x = 0; uint32_t x = 0;
@ -1624,13 +1632,7 @@ static void *SWITCH_THREAD_FUNC listener_run(switch_thread_t *thread, void *obj)
} }
} }
} }
if ((session = listener->session)) {
channel = switch_core_session_get_channel(session);
switch_core_session_read_lock(session);
}
if (switch_strlen_zero(listener->remote_ip)) { if (switch_strlen_zero(listener->remote_ip)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Connection Open\n"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Connection Open\n");
} else { } else {