selftests/resctrl: Kill child process before parent process terminates if SIGTERM is received
In kselftest framework, a sub test is run using the timeout utility and it will send SIGTERM to the test upon timeout. In resctrl_tests, a child process is created by fork() to run benchmark but SIGTERM is not set in sigaction(). If SIGTERM signal is received, the parent process will be killed, but the child process still exists. Kill child process before the parent process terminates if SIGTERM signal is received. Reviewed-by: Shuah Khan <skhan@linuxfoundation.org> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
d577380da0
commit
f54b327816
@ -678,6 +678,7 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param)
|
||||
sigemptyset(&sigact.sa_mask);
|
||||
sigact.sa_flags = SA_SIGINFO;
|
||||
if (sigaction(SIGINT, &sigact, NULL) ||
|
||||
sigaction(SIGTERM, &sigact, NULL) ||
|
||||
sigaction(SIGHUP, &sigact, NULL)) {
|
||||
perror("# sigaction");
|
||||
ret = errno;
|
||||
|
Loading…
Reference in New Issue
Block a user