void instance_free (struct instance *o) { // free timer BReactor_RemoveTimer(o->i->params->iparams->reactor, &o->timer); NCDModuleInst_Backend_Dead(o->i); }
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); }
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); }