Newer
Older
{
if (debug) printf("@@@@ link:Hung Up\n");
break;
}
if (f->frametype == AST_FRAME_CONTROL)
{
if (f->subclass == AST_CONTROL_HANGUP)
{
if (debug) printf("@@@@ rpt:Hung Up\n");
ast_frfree(f);
break;
}
}
ast_frfree(f);
continue;
}
}
rpt_mutex_lock(&myrpt->lock);
if (myrpt->rxchannel != myrpt->txchannel) ast_hangup(myrpt->txchannel);
ast_hangup(myrpt->rxchannel);
myrpt->hfscanmode = 0;
myrpt->hfscanstatus = 0;
myrpt->remoteon = 0;
rpt_mutex_unlock(&myrpt->lock);
closerem(myrpt);
LOCAL_USER_REMOVE(u);
return res;
}
static int unload_module(void *mod)
Mark Spencer
committed
int i;
Mark Spencer
committed
for(i = 0; i < nrpts; i++) {
if (!strcmp(rpt_vars[i].name,rpt_vars[i].nodes)) continue;
Mark Spencer
committed
ast_mutex_destroy(&rpt_vars[i].lock);
i = ast_unregister_application(app);
/* Unregister cli extensions */
ast_cli_unregister(&cli_debug);
ast_cli_unregister(&cli_dump);
static int load_module(void *mod)
ast_pthread_create(&rpt_master_thread,NULL,rpt_master,NULL);
/* Register cli extensions */
ast_cli_register(&cli_debug);
ast_cli_register(&cli_dump);
return ast_register_application(app, rpt_exec, synopsis, descrip);
static const char *description(void)
static const char *key(void)