示例#1
0
文件: sleep.c 项目: AmVPN/badvpn
void instance_free (struct instance *o)
{
    // free timer
    BReactor_RemoveTimer(o->i->params->iparams->reactor, &o->timer);
    
    NCDModuleInst_Backend_Dead(o->i);
}
示例#2
0
void BArpProbe_Free (BArpProbe *o)
{
    DebugObject_Free(&o->d_obj);
    DebugError_Free(&o->d_err);
    
    // free timer
    BReactor_RemoveTimer(o->reactor, &o->timer);
    
    // free recv interface
    BDatagram_RecvAsync_Free(&o->dgram);
    
    // free send interface
    BDatagram_SendAsync_Free(&o->dgram);
    
    // free dgram
    BDatagram_Free(&o->dgram);
}
示例#3
0
void instance_free (struct instance *o)
{
    ASSERT(!o->started)
    NCDModuleInst *i = o->i;
    
    // free timer
    BReactor_RemoveTimer(o->i->params->reactor, &o->timer);
    
    // set device down
    if (!NCDIfConfig_set_down(o->ifname)) {
        ModuleLog(o->i, BLOG_ERROR, "failed to set device down");
    }
    
    // free TAP device
    if (!NCDIfConfig_remove_tuntap(o->ifname, 0)) {
        ModuleLog(o->i, BLOG_ERROR, "failed to remove TAP device");
    }
    
    // free instance
    free(o);
    
    NCDModuleInst_Backend_Dead(i);
}