[asterisk-commits] russell: trunk r88409 - /trunk/channels/chan_unistim.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Nov 2 17:36:31 CDT 2007
Author: russell
Date: Fri Nov 2 17:36:30 2007
New Revision: 88409
URL: http://svn.digium.com/view/asterisk?view=rev&rev=88409
Log:
fix some issues with crashing on unload, when it didn't completely load cleanly
Modified:
trunk/channels/chan_unistim.c
Modified: trunk/channels/chan_unistim.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_unistim.c?view=diff&rev=88409&r1=88408&r2=88409
==============================================================================
--- trunk/channels/chan_unistim.c (original)
+++ trunk/channels/chan_unistim.c Fri Nov 2 17:36:30 2007
@@ -5619,10 +5619,13 @@
/*! XXX \todo Leaking anything allocated by reload_config() ... */
reload_failed:
sched_context_destroy(sched);
+ sched = NULL;
sched_failed:
io_context_destroy(io);
+ io = NULL;
io_failed:
free(buff);
+ buff = NULL;
buff_failed:
return AST_MODULE_LOAD_DECLINE;
}
@@ -5630,7 +5633,8 @@
static int unload_module(void)
{
/* First, take us out of the channel loop */
- sched_context_destroy(sched);
+ if (sched)
+ sched_context_destroy(sched);
ast_cli_unregister_multiple(unistim_cli, ARRAY_LEN(unistim_cli));
@@ -5646,8 +5650,10 @@
monitor_thread = AST_PTHREADT_STOP;
ast_mutex_unlock(&monlock);
- free(buff);
- close(unistimsock);
+ if (buff)
+ free(buff);
+ if (unistimsock > -1)
+ close(unistimsock);
return 0;
}
More information about the asterisk-commits
mailing list