diff options
author | Thomas White <taw@physics.org> | 2023-12-18 14:42:22 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2023-12-22 14:44:27 +0100 |
commit | b8a765d620dae8d5dc3c5aef8c713d6d71e45bac (patch) | |
tree | adfd6152812ced86a12662b2145f3a77d28cf726 /src/indexamajig.c | |
parent | 32efc83f9587844a27ba67c83a1b77a9e60efbb3 (diff) |
indexamajig: Add --no-data-timeout
Diffstat (limited to 'src/indexamajig.c')
-rw-r--r-- | src/indexamajig.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/indexamajig.c b/src/indexamajig.c index ef25e396..361b761a 100644 --- a/src/indexamajig.c +++ b/src/indexamajig.c @@ -94,6 +94,7 @@ struct indexamajig_arguments int if_multi; int if_retry; int profile; /* Whether to do wall-clock time profiling */ + int no_data_timeout; char **copy_headers; int n_copy_headers; char *harvest_file; @@ -457,6 +458,14 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state) args->cpu_pin = 1; break; + case 224 : + if (sscanf(arg, "%d", &args->no_data_timeout) != 1) + { + ERROR("Invalid value for --no-data-timeout\n"); + return EINVAL; + } + break; + /* ---------- Peak search ---------- */ case 't' : @@ -910,6 +919,7 @@ int main(int argc, char *argv[]) args.if_refine = 1; args.if_checkcell = 1; args.profile = 0; + args.no_data_timeout = 60; args.copy_headers = NULL; args.n_copy_headers = 0; args.harvest_file = NULL; @@ -1028,6 +1038,8 @@ int main(int argc, char *argv[]) "Wait for ASAP::O stream to appear"}, {"asapo-output-stream", 222, NULL, OPTION_NO_USAGE, "Create an ASAP::O hits-only stream"}, {"cpu-pin", 223, NULL, OPTION_NO_USAGE, "Pin worker processes to CPUs"}, + {"no-data-timeout", 224, "s", OPTION_NO_USAGE, + "Shut down after this many seconds without ASAP::O data"}, {NULL, 0, 0, OPTION_DOC, "Peak search options:", 3}, {"peaks", 301, "method", 0, "Peak search method. Default: zaef"}, @@ -1449,7 +1461,8 @@ int main(int argc, char *argv[]) r = create_sandbox(&args.iargs, args.n_proc, args.prefix, args.basename, fh, st, tmpdir, args.serial_start, &args.zmq_params, &args.asapo_params, - timeout, args.profile, args.cpu_pin); + timeout, args.profile, args.cpu_pin, + args.no_data_timeout); if ( pf8_data != NULL ) free_pf8_private_data(pf8_data); cell_free(args.iargs.cell); |