void destroy_tcp_client ( struct client *client ) { int status; if ( CASDEBUG > 0 ) { errlogPrintf ( "CAS: Connection %d Terminated\n", client->sock ); } if ( client->evuser ) { /* * turn off extra labor callbacks from the event thread */ status = db_add_extra_labor_event ( client->evuser, NULL, NULL ); assert ( ! status ); /* * wait for extra labor in progress to comple */ db_flush_extra_labor_event ( client->evuser ); } destroyAllChannels ( client, & client->chanList ); destroyAllChannels ( client, & client->chanPendingUpdateARList ); if ( client->evuser ) { db_close_events (client->evuser); } destroy_client ( client ); }
static void arrTestCleanup(void* junk) { dbFreeBase(pdbbase); registryFree(); pdbbase=0; db_close_events(evtctx); dbmfFreeChunks(); }