lib/deploy: Close test suite race condition

Saw this in a PR result; we need to wait for the child to have written its
result to stderr before we exit, otherwise the test suite may not read it in
time.

Closes: #1070
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-08-09 09:07:11 -04:00 committed by Atomic Bot
parent 6c7a6519dd
commit 95c832b4e2

View File

@ -1083,7 +1083,12 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
return glnx_throw_errno_prefix (error, "write(watchdog start)");
/* Testing infrastructure */
if (debug_fifreeze)
return glnx_throw (error, "aborting due to test-fifreeze");
{
int wstatus;
/* Ensure the child has written its data */
(void) TEMP_FAILURE_RETRY (waitpid (pid, &wstatus, 0));
return glnx_throw (error, "aborting due to test-fifreeze");
}
/* Do a freeze/thaw cycle; TODO add a FIFREEZETHAW ioctl */
if (ioctl (rootfs_dfd, FIFREEZE, 0) != 0)
{