# HG changeset patch # User Bruno Haible # Date 1250984235 -7200 # Node ID 9823635e7b7a164e6ccc7afcb1a5264c1902d9ef # Parent 2770463da68f5432e2f333bb17994707be1f0e7a Fix test of fcntl's return value. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-08-22 Bruno Haible + + * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's + return value. + * lib/pipe-filter-gi.c (filter_init): Likewise. + Reported by Eric Blake. + 2009-08-22 Bruno Haible * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe. diff --git a/lib/pipe-filter-gi.c b/lib/pipe-filter-gi.c --- a/lib/pipe-filter-gi.c +++ b/lib/pipe-filter-gi.c @@ -248,9 +248,9 @@ int fcntl_flags; if ((fcntl_flags = fcntl (filter->fd[1], F_GETFL, 0)) < 0 - || fcntl (filter->fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) < 0 + || fcntl (filter->fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) == -1 || (fcntl_flags = fcntl (filter->fd[0], F_GETFL, 0)) < 0 - || fcntl (filter->fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) < 0) + || fcntl (filter->fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) == -1) { if (filter->exit_on_error) error (EXIT_FAILURE, errno, diff --git a/lib/pipe-filter-ii.c b/lib/pipe-filter-ii.c --- a/lib/pipe-filter-ii.c +++ b/lib/pipe-filter-ii.c @@ -289,9 +289,9 @@ int fcntl_flags; if ((fcntl_flags = fcntl (fd[1], F_GETFL, 0)) < 0 - || fcntl (fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) < 0 + || fcntl (fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) == -1 || (fcntl_flags = fcntl (fd[0], F_GETFL, 0)) < 0 - || fcntl (fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) < 0) + || fcntl (fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) == -1) { if (exit_on_error) error (EXIT_FAILURE, errno,