[igt-dev] [PATCH i-g-t v2 0/1] tests/prime_vgem: Fix broken handling of interprocess pipes

Janusz Krzysztofik janusz.krzysztofik at linux.intel.com
Thu Jul 11 08:39:57 UTC 2019


If a child process dies for any reason while basic-fence-read or
basic-fence-mmap subtest is run, the subtest may hang indefinitely on
read() from a pipe which is supposed to be written to by that child (can
be interrupted though).  Fix it by first closing unused pipe ends on both
parent and child side before using the pipe, as recommended by pipe(2)
manual page.

Please note that due to the IGT library way of handling signals, now the
subtests may fail with error code 141 (128 + SIGPIPE) and no usual DEBUG
message block on stderr nor FAIL message line on stdout, however some
meaningful error messages will still be printed on stderr by the failing
child processes.

v2: resend with Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
    added

Janusz Krzysztofik (1):
  tests/prime_vgem: Fix broken handling of interprocess pipes

 tests/prime_vgem.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

-- 
2.21.0



More information about the igt-dev mailing list