Add generic_signal() handler, which sets toys.signal and writes byte to toys.signalfd if set.
diff --git a/toys.h b/toys.h
index c59c3c5..6666cfb 100644
--- a/toys.h
+++ b/toys.h
@@ -23,6 +23,7 @@
#include <regex.h>
#include <sched.h>
#include <setjmp.h>
+#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
@@ -125,6 +126,8 @@
int exithelp; // Should error_exit print a usage message first?
int old_umask; // Old umask preserved by TOYFLAG_UMASK
int toycount; // Total number of commands in this build
+ int signal; // generic_signal() records what signal it saw here
+ int signalfd; // and writes signal to this fd, if set
// This is at the end so toy_init() doesn't zero it.
jmp_buf *rebound; // longjmp here instead of exit when do_rebound set