static void * _socket(void *arg) { while (run) { silly_socket_poll(); } return NULL; }
static void * thread_socket(void *arg) { (void)arg; for (;;) { int err = silly_socket_poll(); if (err < 0) break; pthread_cond_signal(&R.cond); } pthread_mutex_lock(&R.mutex); R.run = 0; pthread_cond_signal(&R.cond); pthread_mutex_unlock(&R.mutex); return NULL; }