From d6ba77a74b3a013518f185f14b0467382b4292a6 Mon Sep 17 00:00:00 2001 From: Jeremy McNamara <jj@nufone.net> Date: Sun, 14 Sep 2003 00:05:37 +0000 Subject: [PATCH] implement reload git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1510 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_skinny.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 3784b06dec..c50b49ab54 100755 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -2601,6 +2601,45 @@ static int reload_config(void) return 0; } +void delete_devices(void) +{ + struct skinny_device *d, *dlast; + struct skinny_line *l, *llast; + struct skinny_subchannel *sub, *slast; + + ast_mutex_lock(&devicelock); + + /* Delete all devices */ + for (d=devices;d;) { + + /* Delete all lines for this device */ + for (l=d->lines;l;) { + /* Delete all subchannels for this line */ + for (sub=l->sub;sub;) { + slast = sub; + sub = sub->next; + free(slast); + } + llast = l; + l = l->next; + free(llast); + } + dlast = d; + d = d->next; + free(dlast); + } + devices=NULL; + ast_mutex_unlock(&devicelock); +} + +int reload(void) +{ + delete_devices(); + reload_config(); + restart_monitor(); + return 0; +} + int load_module() { -- GitLab