static void free_monitor(struct monitor *m) { int i; int n = m->count; for (i=0;i<n;i++) { skynet_monitor_delete(m->m[i]); } pthread_mutex_destroy(&m->mutex); pthread_cond_destroy(&m->cond); skynet_free(m->m); skynet_free(m); }
static void * _monitor(void *p) { struct monitor * m = p; int i; int n = m->count; for (;;) { for (i=0;i<n;i++) { skynet_monitor_check(m->m[i]); } CHECK_ABORT sleep(5); } for (i=0;i<n;i++) { skynet_monitor_delete(m->m[i]); } free(m->m); free(m); return NULL; }