From e9945332575a9abc211f5234eccc3f071a0fdb3a Mon Sep 17 00:00:00 2001 From: mom040267 Date: Mon, 21 Apr 2014 21:44:34 +0000 Subject: [PATCH] Issue 123 fix merged from parent project --- src/apps/relay/ns_ioalib_engine_impl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/apps/relay/ns_ioalib_engine_impl.c b/src/apps/relay/ns_ioalib_engine_impl.c index 5afe397..02da6b0 100644 --- a/src/apps/relay/ns_ioalib_engine_impl.c +++ b/src/apps/relay/ns_ioalib_engine_impl.c @@ -3243,17 +3243,19 @@ int ioa_socket_tobeclosed(ioa_socket_handle s) TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "!!! %s socket: 0x%lx was closed\n", __FUNCTION__,(long)s); return 1; } - if(s->broken) { + if(s->tobeclosed) { + return 1; + } else if(s->broken) { + s->tobeclosed = 1; log_socket_event(s, "socket broken", 0); return 1; - } else if(s->tobeclosed) { - log_socket_event(s, "socket to be closed", 0); - return 1; } else if(s->fd < 0) { + s->tobeclosed = 1; log_socket_event(s, "socket fd<0", 0); return 1; } else if(s->ssl) { if(SSL_get_shutdown(s->ssl)) { + s->tobeclosed = 1; log_socket_event(s, "socket SSL shutdown", 0); return 1; }