diff options
Diffstat (limited to 'maildrop/filter.C')
| -rw-r--r-- | maildrop/filter.C | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/maildrop/filter.C b/maildrop/filter.C index 373eb47..d59e2ec 100644 --- a/maildrop/filter.C +++ b/maildrop/filter.C @@ -185,7 +185,15 @@ int maxfd=pipe1.fds[0]; if (n < 0) { - if (errno != EINTR) // Perfectly OK + if (errno != EINTR +#ifdef EAGAIN + && errno != EAGAIN +#endif +#ifdef EWOULDBLOCK + && errno != EWOULDBLOCK +#endif + + ) // Perfectly OK { FD_CLR(pipe0.fds[1], &writefd); pipe0.close1(); @@ -211,7 +219,14 @@ int maxfd=pipe1.fds[0]; if (readbuflen < 0) { - if (errno != EINTR) + if (errno != EINTR +#ifdef EAGAIN + && errno != EAGAIN +#endif +#ifdef EWOULDBLOCK + && errno != EWOULDBLOCK +#endif + ) { merr << "maildrop: error reading from filter.\n"; errflag=1; |
