static void noit_rabbimq_deallocate(iep_thread_driver_t *d) { struct amqp_driver *dr = (struct amqp_driver *)d; noit_rabbimq_disconnect(d); pthread_mutex_lock(&driver_lock); memset(dr, 0, sizeof(*dr)); pthread_mutex_unlock(&driver_lock); mtev_atomic_dec64(&stats.concurrency); free(dr); }
void eventer_free(eventer_t e) { if(mtev_atomic_dec32(&e->refcnt) == 0) { mtev_atomic_dec64(&ealloccnt); free(e); } }