X-Git-Url: https://git.distorted.org.uk/~mdw/misc/blobdiff_plain/f42ff973cd0e180e7decb57cd9818a3f18e635f7..7bba3c9c3dcd1a959dde4531e8e4a8b3ec0119da:/mtimeout.c diff --git a/mtimeout.c b/mtimeout.c index 055ef7e..9b22fb7 100644 --- a/mtimeout.c +++ b/mtimeout.c @@ -480,16 +480,31 @@ int main(int argc, char *const argv[]) { "help", 0, 0, 'h' }, { "version", 0, 0, 'v' }, { "usage", 0, 0, 'u' }, + { "no-kill", 0, 0, 'K' }, + { "kill-after", OPTF_ARGREQ, 0, 'k' }, + { "bored-after", OPTF_ARGREQ, 0, 'b' }, { "signal", OPTF_ARGREQ, 0, 's' }, { 0, 0, 0, 0 } }; - int i = mdwopt(argc, argv, "+hvus:", opts, 0, 0, 0); + int i = mdwopt(argc, argv, "+hvuKb:k:s:", opts, 0, 0, 0); if (i < 0) break; switch (i) { case 'h': help(stdout); exit(0); case 'v': version(stdout); exit(0); case 'u': usage(stdout); exit(0); + case 'b': + ta[taoff_boredwait].act = TA_WAIT; + strtotime(optarg, &ta[taoff_boredwait].u.tv); + break; + case 'k': + ta[taoff_killwait].act = TA_WAIT; + strtotime(optarg, &ta[taoff_killwait].u.tv); + break; + case 'K': + ta[taoff_killwait].act = TA_GOTO; + ta[taoff_killwait].u.i = taoff_boredwait; + break; case 's': if ((ta[taoff_sig].u.i = namesig(optarg)) < 0) die(253, "bad signal spec `%s'", optarg);