X-Git-Url: http://nitlanguage.org diff --git a/lib/standard/exec_nit.c b/lib/standard/exec_nit.c index c69ba64..5b5ffbb 100644 --- a/lib/standard/exec_nit.c +++ b/lib/standard/exec_nit.c @@ -82,7 +82,7 @@ se_exec_data_t* exec_Process_Process_basic_exec_execute_4(void *s, char *prog, c /* calls */ execvp(prog, arg); - abort(); + _exit(127); } else if (id > 0) { /* father */ @@ -142,3 +142,11 @@ void exec_NativeProcess_NativeProcess_wait_0(void*d) { data->running = 0; } } + +int string_NativeString_NativeString_system_0(const char *cmd) { + int status = system(cmd); + if (WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) { + // cmd exited on SIGINT: in my opinion the user wants the main to be discontinued + kill(getpid(), SIGINT); + } +}