Re: Stats collector frozen?

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

In response to

Responses

Browse pgsql-general by date

  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?