X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmachine%2Fmachinectl.c;h=b3a70188a468130703bcea24fef2ce3d22e00aa8;hb=90b2de37b80603168f4e9c9c81cff7eea4efa21a;hp=ab9060ab9923397924cb994eb5a0a3ae69c20732;hpb=fbadf04511389c4a0687ba5e9baf0ecebdbb07f1;p=elogind.git diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index ab9060ab9..b3a70188a 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -452,10 +452,7 @@ static int openpt_in_namespace(pid_t pid, int flags) { pair[1] = -1; r = wait_for_terminate(child, &si); - if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS || master < 0) { - - if (master >= 0) - close_nointr_nofail(master); + if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS) { return r < 0 ? r : -EIO; } @@ -479,6 +476,9 @@ static int openpt_in_namespace(pid_t pid, int flags) { master = fds[0]; } + if (master < 0) + return -EIO; + return master; }