Commit 3c252f3d authored by Andrew Vagin's avatar Andrew Vagin Committed by Pavel Emelyanov

exec: return non-zero code in error cases

[root@fc22-vm criu]# ./criu/criu exec -t 27573 dup21 3 0
Error (cr-exec.c:164): Unknown syscall [dup21]
[root@fc22-vm criu]# echo 0
0
Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 941393ac
......@@ -117,7 +117,7 @@ int cr_exec(int pid, char **opt)
struct syscall_exec_desc *si;
struct parasite_ctl *ctl;
struct vm_area_list vmas;
int ret = -1, prev_state;
int ret, prev_state, exit_code = -1;
struct proc_status_creds *creds;
if (!sys_name) {
......@@ -160,12 +160,16 @@ int cr_exec(int pid, char **opt)
}
ret = execute_syscall(ctl, si, opt + 1);
if (ret < 0)
if (ret < 0) {
pr_err("Can't execute syscall remotely\n");
goto out_cure;
}
exit_code = 0;
out_cure:
parasite_cure_seized(ctl);
out_unseize:
unseize_task(pid, prev_state, prev_state);
out:
return ret;
return exit_code;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment