From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Jeremy Haile <jhaile(at)fastmail(dot)fm>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Stats collector frozen? |
Date: | 2007-01-26 11:43:54 |
Message-ID: | 20070126114354.GG30416@svr2.hagander.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, Jan 26, 2007 at 12:26:58PM +0100, Magnus Hagander wrote:
> On Fri, Jan 26, 2007 at 01:11:00PM +0300, Teodor Sigaev wrote:
> > >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
Attachment | Content-Type | Size |
---|---|---|
win32_stats.patch | text/plain | 7.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomi N/A | 2007-01-26 12:19:15 | Re: [Fwd: [PORTS] M$ SQL server DTS package equivalent in Postgres] |
Previous Message | M.A. Oude Kotte | 2007-01-26 11:41:58 | Rollback using WAL files? |