restored timeout handling (with SIGALRM for now)

This commit is contained in:
hexcoder-
2021-06-05 11:51:03 +02:00
parent 43eca8203a
commit 0d50ee4947

View File

@ -225,6 +225,20 @@ static s32 write_to_file(u8 *path, u8 *mem, u32 len) {
}
/* Handle timeout signal. */
static void handle_timeout(int sig) {
(void)sig;
child_timed_out = 1;
if (child_pid > 0) kill(child_pid, SIGKILL);
}
/* Execute target application. Returns exec checksum, or 0 if program
times out. */
@ -904,6 +918,11 @@ static void setup_signal_handlers(void) {
sigaction(SIGINT, &sa, NULL);
sigaction(SIGTERM, &sa, NULL);
/* Exec timeout notifications. */
sa.sa_handler = handle_timeout;
sigaction(SIGALRM, &sa, NULL);
}
/* Display usage hints. */