static void SessionTableFreeSession( dssl_SessionTable* tbl, TcpSession* sess ) { if( tbl->env && tbl->env->session_callback ) { tbl->env->session_callback( tbl->env, sess, DSSL_EVENT_SESSION_CLOSING ); } SessionFree( sess ); }
static void CM_NEAR freeSymbols(const void *symbol, SessionGlobalDataPtr sessionData) { void *lLink, *rLink; if (symbol) { /* if we got a symbol... */ lLink = ((SymbolLinksPtr)symbol)->lLink; /* get the two links... */ rLink = ((SymbolLinksPtr)symbol)->rLink; freeSymbols(lLink, sessionData); /* ...follow the left link down */ SessionFree(symbol); /* ...free a symbol */ freeSymbols(rLink, sessionData); /* ...do same for the right links */ } }
void CM_FIXEDARGS CMFree(CMPtr ptr, CMSession sessionData) { if (sessionData != NULL) SessionFree(ptr); }