Re: Possible explanation for Win32 stats regression test

Поиск
Список
Период
Сортировка
От korryd@enterprisedb.com
Тема Re: Possible explanation for Win32 stats regression test
Дата
Msg-id 1154175513.7099.51.camel@sakai.localdomain
обсуждение исходный текст
Ответ на Re: Possible explanation for Win32 stats regression test  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: [PATCHES] Possible explanation for Win32 stats regression  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
Is anyone working on this?

Tom Lane wrote:
> korry <korry@appx.com> writes:
> > The problem is that, each time you go through
> > pgwin32_waitforsinglesocket(), you tie the *same* kernel object
> > (waitevent is static) to each socket.
> 
> > The fix is pretty simple - just call WSAEventSelect( s, waitevent, 0 )
> > after WaitForMultipleObjectsEx() returns.  That disassociates the socket
> > from the Event (it will get re-associated the next time
> > pgwin32_waitforsingleselect() is called.  
> 
> Hmm.  Presumably we don't do this a whole lot (use multiple sockets) or
> we'd have noticed before.  Perhaps better would be to keep an additional
> static variable saying which socket the event is currently associated
> to, and only issue the extra WSAEventSelect calls if we need to change
> it.  Or is WSAEventSelect fast enough that it doesn't matter?
> 

Here's a simple patch that fixes the problem (I haven't explored the performance of this patch compared to Tom's suggestion).

        -- Korry

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tzahi Fadida
Дата:
Сообщение: Re: Formulating an sql query with CTID
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: On-disk bitmap index patch