On Mon, Aug 23, 2010 at 9:46 AM, Paolo Bonzini <bonz...@gnu.org> wrote: > Hi Erik, this is what I'm applying. > > * lib/poll.c (win32_compute_revents): Return POLLHUP when > PeekNamedPipe fails with ERROR_BROKEN_PIPE. > * lib/select.c (win32_compute_revents): Do not mark a pipe > as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE. > --- > ChangeLog | 9 +++++++++ > lib/poll.c | 2 ++ > lib/select.c | 2 ++ > 3 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index 1337347..7a08510 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,12 @@ > +2010-08-22 Paolo Bonzini <bonz...@gnu.org> > + Erik Faye-Lund <kusmab...@gmail.com> > + > + poll, select: handle ERROR_BROKEN_PIPE. > + * lib/poll.c (win32_compute_revents): Return POLLHUP when > + PeekNamedPipe fails with ERROR_BROKEN_PIPE. > + * lib/select.c (win32_compute_revents): Do not mark a pipe > + as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE. > + > 2010-08-22 Giuseppe Scrivano <gscriv...@gnu.org> > > fts: allow compilation with C++ > diff --git a/lib/poll.c b/lib/poll.c > index 49c4159..aeb7a35 100644 > --- a/lib/poll.c > +++ b/lib/poll.c > @@ -150,6 +150,8 @@ win32_compute_revents (HANDLE h, int *p_sought) > if (avail) > happened |= *p_sought & (POLLIN | POLLRDNORM); > } > + else if (GetLastError () == ERROR_BROKEN_PIPE) > + happened |= POLLHUP; > > else > { > diff --git a/lib/select.c b/lib/select.c > index 5677fdd..bc02266 100644 > --- a/lib/select.c > +++ b/lib/select.c > @@ -132,6 +132,8 @@ win32_poll_handle (HANDLE h, int fd, struct bitset > *rbits, struct bitset *wbits, > if (avail) > read = TRUE; > } > + else if (GetLastError () == ERROR_BROKEN_PIPE) > + ; > > else > { > -- > 1.7.1 > >
Looks good to me, thanks!