mama_status wombatThrottle_destroy (wombatThrottle throttle) { if (self == NULL) return MAMA_STATUS_OK; /* Acquire the lock before destroying the timer. */ wlock_lock (self->mTimerLock); /* Destroy the timer. */ if (self->mTimer != NULL) { mamaTimer_destroy (self->mTimer); self->mTimer = NULL; } /* Release the lock. */ wlock_unlock (self->mTimerLock); /* Destroy the timer lock. */ if (self->mTimerLock != NULL) { wlock_destroy (self->mTimerLock); self->mTimerLock = NULL; } wombatThrottle_cleanUp (throttle); return MAMA_STATUS_OK; }
static void MAMACALLTYPE wombatThrottle_timerCB (mamaTimer timer, void *throttle) { /* If mRate == 0, throttle has been deactivated. Finish any remaining * jobs in queue, and wait. If mRate is set again before we finish * purging the queue, we exit the while and don't call wait () */ while (self->mRate == 0.0 && wombatThrottle_sendQueuedMessage (throttle)) { } self->mMsgsSentThisInterval = 0; if (list_size (self->mMsgQueue) == 0) { /* Acquire the lock before destroying the timer. */ wlock_lock (self->mTimerLock); /* Destroy the timer. */ if (self->mTimer != NULL) { mamaTimer_destroy (self->mTimer); self->mTimer = NULL; } /* Release the lock. */ wlock_unlock (self->mTimerLock); } wombatThrottle_dispatchMessagesUntilQuota (throttle); }
static void MAMACALLTYPE syncCallback (mamaTimer timer, void* closure) { mamaTimer_destroy (timer); mamaDQPublisherManager_sendSyncRequest ((mamaDQPublisherManager) closure,50, 5, 30); printf ("Sent sync request.\n"); fflush(stdout); }
mama_status mamaStatsGenerator_stopReportTimer(mamaStatsGenerator statsGenerator) { /* Returns. */ mama_status ret = MAMA_STATUS_NULL_ARG; /* Get the impl. */ mamaStatsGeneratorImpl *impl = (mamaStatsGeneratorImpl*)statsGenerator; if(NULL != impl) { /* Destroy the timer. */ ret = MAMA_STATUS_OK; if(NULL != impl->mReportTimer) { ret = mamaTimer_destroy(impl->mReportTimer); impl->mReportTimer = NULL; } } return ret; }