diff --git a/src/process/system.c b/src/process/system.c index ebe207f597f13edd3bba746115260b6894ce20c4..0cc8b8102d54519d52078c76276d1490bd116663 100644 --- a/src/process/system.c +++ b/src/process/system.c @@ -13,6 +13,7 @@ weak_alias(dummy_0, __acquire_ptc); weak_alias(dummy_0, __release_ptc); pid_t __vfork(void); +void __testcancel(void); int system(const char *cmd) { @@ -21,6 +22,8 @@ int system(const char *cmd) struct sigaction sa = { .sa_handler = SIG_IGN }, oldint, oldquit; int status = -1, i; + __testcancel(); + if (!cmd) return 1; sigaction(SIGINT, &sa, &oldint);