From: Anthony Minessale Date: Fri, 15 Feb 2008 19:55:19 +0000 (+0000) Subject: update X-Git-Tag: v1.0-rc1~313 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10d8b26b89f32425fd7cc02b5b01413cfca3180b;p=thirdparty%2Ffreeswitch.git update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7625 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c index 4ecd15e82e..5896b66b81 100644 --- a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c +++ b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c @@ -248,13 +248,22 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_event_multicast_shutdown) { int x = 0; - switch_socket_shutdown(globals.udp_socket, SWITCH_SHUTDOWN_READWRITE); - globals.running = -1; - while (x < 100000 && globals.running) { - x++; - switch_yield(1000); + if (globals.udp_socket) { + switch_socket_shutdown(globals.udp_socket, SWITCH_SHUTDOWN_READWRITE); + switch_socket_close(globals.udp_socket); + globals.udp_socket = NULL; + } + + if (globals.running == 1) { + globals.running = -1; + while (x < 100000 && globals.running) { + x++; + switch_yield(1000); + } } + switch_core_hash_destroy(&globals.event_hash); + return SWITCH_STATUS_SUCCESS; }