/* Delete an entry from our unacked list. The list entry is destructed, but * the sendbuf not. * rgerhards, 2008-03-20 */ static relpRetVal relpSessDelUnacked(relpSess_t *pThis, relpSessUnacked_t *pUnackedLstEntry) { ENTER_RELPFUNC; RELPOBJ_assert(pThis, Sess); assert(pUnackedLstEntry != NULL); DLL_Del(pUnackedLstEntry, pThis->pUnackedLstRoot, pThis->pUnackedLstLast); --pThis->lenUnackedLst; if( pThis->lenUnackedLst < pThis->sizeWindow && relpSessGetSessState(pThis) == eRelpSessState_WINDOW_FULL) { /* here, we need to check if we had WINDOW_FULL condition. The reason is that * we otherwise mess up the session init handling - contrary to ...AddUnacked(), * we run into the situation of a session state change on init. So we * need to make sure it works. */ relpSessSetSessState(pThis, eRelpSessState_READY_TO_SEND); } free(pUnackedLstEntry); pThis->pEngine->dbgprint("DEL sess %p unacked %d, sessState %d\n", pThis, pThis->lenUnackedLst, pThis->sessState); LEAVE_RELPFUNC; }
/* destructor for a call stack object */ static void dbgCallStackDestruct(void *arg) { dbgThrdInfo_t *pThrd = (dbgThrdInfo_t*) arg; dbgprintf("destructor for debug call stack %p called\n", pThrd); if(pThrd->pszThrdName != NULL) { free(pThrd->pszThrdName); } pthread_mutex_lock(&mutCallStack); DLL_Del(CallStack, pThrd); pthread_mutex_unlock(&mutCallStack); }
/* destruct log entry */ void dbgMutLogDelEntry(dbgMutLog_t *pLog) { assert(pLog != NULL); DLL_Del(MutLog, pLog); }