Also WOULD_EXIT(x, thingy()) to set a variable to 1 or 0 showing whether or
not thingy() tried to exit. I'd love to be able to do "x = NOEXIT(thingy());"
but haven't figured out a syntax to make that work yet...
pid_t xvforkwrap(pid_t pid);
#define XVFORK() xvforkwrap(vfork())
+#define WOULD_EXIT(y, x) { jmp_buf _noexit; \
+ int _noexit_res; \
+ toys.rebound = &_noexit; \
+ _noexit_res = setjmp(_noexit); \
+ if (!_noexit_res) do {x;} while(0); \
+ toys.rebound = 0; \
+ y = _noexit_res; \
+}
+
+#define NOEXIT(x) WOULD_EXIT(_noexit_res, x)
+
// Functions in need of further review/cleanup
#include "lib/pending.h"