> > > >Apparantly there is a bug lurking somewhere in pgwin32_select(). Because
> > > >if I put a #undef select right before the select in pgstat.c, the
> > > >regression tests pass.
> > >
> > > May be, problem is related to fixed bug in pgwin32_waitforsinglesocket() ?
> > > WaitForMultipleObjectsEx might sleep indefinitely while waiting socket to
> > > write, so, may be there is symmetrical problem with read? Or
> > > pgwin32_select() is used for waiting write too?
> >
> >
> > pgwin32_waitforsinglesocket() appears to work fine. And we only use
> > FD_READ, so it's not affected by your patch from what I can tell.
> >
> > I've got it passnig tests with select replaced with waitforsinglesocket
> > - now I just need to implement timeout in that one :-)
>
> Attached patch seems to solve the problem on my machine at least. Uses
> pgwin32_waitforsinglesocket() instead of pgwin32_select(). Changes
> pgwin32_waitforsinglesocket() to accept the timeout as a parameter (this
> is why it touches files outside of the stats area).
Magnus - thanks for your investigation and work! Any chance I could get
a patched exe for win32 and test on my servers?