diff options
author | Jim Dixon <telesistant@hotmail.com> | 2005-01-15 00:53:17 +0000 |
---|---|---|
committer | Jim Dixon <telesistant@hotmail.com> | 2005-01-15 00:53:17 +0000 |
commit | 99e2b961c2623c5e84365806874878730952f1ad (patch) | |
tree | 0c776c85988621a1e7be17894fb223c48f1bfe1f | |
parent | 924bc591629e7086a49367cb374527fb6b069fcd (diff) |
Fixed another little bug.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-x | apps/app_rpt.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/apps/app_rpt.c b/apps/app_rpt.c index faafc2048..33c8c0893 100755 --- a/apps/app_rpt.c +++ b/apps/app_rpt.c @@ -3,7 +3,7 @@ * Asterisk -- A telephony toolkit for Linux. * * Radio Repeater / Remote Base program - * version 0.19 01/14/05 + * version 0.20 01/14/05 * * See http://www.zapatatelephony.org/app_rpt.html * @@ -150,7 +150,7 @@ enum {DLY_TELEM, DLY_ID, DLY_UNKEY, DLY_CALLTERM}; #include <tonezone.h> #include <linux/zaptel.h> -static char *tdesc = "Radio Repeater / Remote Base version 0.19 01/14/2005"; +static char *tdesc = "Radio Repeater / Remote Base version 0.20 01/14/2005"; static char *app = "Rpt"; static char *synopsis = "Radio Repeater/Remote Base Control System"; @@ -4082,7 +4082,21 @@ static int rpt_exec(struct ast_channel *chan, void *data) /* if found */ if (l != &myrpt->links) { - if (l->chan) ast_softhangup(l->chan,AST_SOFTHANGUP_DEV); + l->disctime = DISC_TIME; + if (l->chan) + { + ast_softhangup(l->chan,AST_SOFTHANGUP_DEV); + l->chan = 0; + } + else + { + remque((struct qelem *) l); + if (!strcmp(myrpt->cmdnode,l->name)) + myrpt->cmdnode[0] = 0; + ast_hangup(l->pchan); + free(l); + } + ast_mutex_unlock(&myrpt->lock); usleep(500000); } else ast_mutex_unlock(&myrpt->lock); |