}
void timeout_add(event_loop_t *loop, timeout_t *timeout, timeout_cb_t cb, void *data, struct timeval *tv) {
- if(!timeout->cb)
- timeout->tv = (struct timeval) {
- 0, 0
- };
-
timeout->cb = cb;
-
timeout->data = data;
-
timeout->node.data = timeout;
timeout_set(loop, timeout, tv);
}
void signal_trigger(event_loop_t *loop, signal_t *sig) {
-
uint8_t signum = sig->signum;
write(loop->pipefd[1], &signum, 1);
return;
-
}
void signal_add(event_loop_t *loop, signal_t *sig, signal_cb_t cb, void *data, uint8_t signum) {
fd_set readable;
fd_set writable;
+
while(loop->running) {
gettimeofday(&loop->now, NULL);
struct timeval diff, it, *tv = NULL;
pthread_mutex_lock(mutex);
}
+ gettimeofday(&loop->now, NULL);
+
if(n < 0) {
if(sockwouldblock(errno)) {
continue;