void *mem_loop( void *arg ) { loop_control( "memory control", mem_check, NULL, 1000 * ctl->mem->interval, LOOP_TRIM, 0 ); free( (THRD *) arg ); return NULL; }
void *loop_timer( void *arg ) { THRD *t = (THRD *) arg; // this just gather sets the time and doesn't exit loop_control( "time set", &loop_set_time, NULL, ctl->tick_usec, LOOP_SYNC|LOOP_SILENT, 0 ); free( t ); return NULL; }
void *stats_loop( void *arg ) { ST_CFG *cf; ST_THR *c; THRD *t; t = (THRD *) arg; c = (ST_THR *) t->arg; cf = c->conf; // and then loop round loop_control( cf->name, cf->loopfn, c, cf->period, 1, cf->offset ); // and unlock ourself unlock_stthr( c ); free( t ); return NULL; }