Пример #1
0
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);
}
Пример #2
0
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;
}