Add a fork flag to theft_run_config that makes theft fork before each trial. The child process would only run the trial function and report back over a pipe after (or crash, or time out). The parent process would wait for a response from the trial runner, SIGCHILD, etc.
This shouldn't be the default, because forking before each trial will slow everything down.
It may be worth putting fork and the timeout field in a nested struct field.
Add a
fork
flag totheft_run_config
that makes theft fork before each trial. The child process would only run the trial function and report back over a pipe after (or crash, or time out). The parent process would wait for a response from the trial runner, SIGCHILD, etc.This shouldn't be the default, because forking before each trial will slow everything down.
It may be worth putting fork and the timeout field in a nested struct field.