From 10d8b26b89f32425fd7cc02b5b01413cfca3180b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 15 Feb 2008 19:55:19 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7625 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_event_multicast/mod_event_multicast.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) 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; }