+ struct timeval now;
+
+#define PAIR(x, y) { x, y }
+#define TACODE(I) \
+ I(sigwait, WAIT, PAIR(0, 0)) \
+ I(_a, MOAN, "timed out: killing child process") \
+ I(sig, KILL, SIGTERM) \
+ I(killwait, WAIT, PAIR(5, 0)) \
+ I(_b, MOAN, "child hasn't responded: killing harder") \
+ I(_c, KILL, SIGKILL) \
+ I(boredwait, WAIT, PAIR(5, 0)) \
+ I(_d, MOAN, "child still undead: giving up") \
+ I(_e, STATE, ST_ABORT)
+
+ enum {
+#define TALBL(label, op, arg) taoff_##label,
+ TACODE(TALBL)
+#undef TALBL
+ taoff_end
+ };
+
+ static struct tmact ta[] = {
+#define TAASM(label, op, arg) { TA_##op, { .TAARG_##op = arg } },
+ TACODE(TAASM)
+#undef TAASM
+ };
+