static void close_client(epdata_t *epd) { se_delete(epd->se_ptr); delete_timeout(epd->timeout_ptr); close(epd->fd); smp_free(epd); }
void smp_term() { int i; for (i = 0; i < nskels; ++i) if (skels[i].hash) smp_free(&skels[i]); free(skels); skels = NULL; nskels = 0; }
void smp_unload(Hash_table *tabp) { int i; for (i = 0; i < nskels; ++i) if (skels[i].hash == tabp) { smp_free(&skels[i]); return; } }
static void smp_plugin_destroy(smp_plugin_t *pp) { if (pp->sp_initialized && pp->sp_fini != NULL) pp->sp_fini(pp); if (_libsmp_plugin_dlclose) (void) dlclose(pp->sp_object); smp_free(pp); }