});
if(sig) {
+ sig->set = false;
sig->cb(loop, sig->data);
}
}
}
void signal_trigger(event_loop_t *loop, signal_t *sig) {
+ if(sig->set) {
+ return;
+ }
+
uint8_t signum = sig->signum;
+ sig->set = true;
write(loop->pipefd[1], &signum, 1);
return;
}
sig->cb = cb;
sig->data = data;
sig->signum = signum;
+ sig->set = false;
sig->node.data = sig;
if(loop->pipefd[0] == -1) {