Re: Patch for Win32 blocking problem

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Re: Patch for Win32 blocking problem
Дата
Msg-id 452DF3EF.6010601@sigaev.ru
обсуждение исходный текст
Ответ на Re: Patch for Win32 blocking problem  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Patch for Win32 blocking problem  (Teodor Sigaev <teodor@sigaev.ru>)
Список pgsql-hackers
> time.  I find the proposed patch in pgwin32_waitforsinglesocket to be a
> pretty ugly kluge though.  Are you sure it's needed given the other fix?

Loop in pgwin32_send() doesn't prevent from infinite sleeping in 
WaitForMultipleObjectEx in pgwin32_waitforsinglesocket. I'm not a Windows guru 
at all, and I'm not like that part of patch too. I can't find better solution...

May be that way (untested):

if ( isUDP && (what & FP_WRITE) )
for(;;) {r = WaitForMultipleObjects(100 ms);if ( r == WAIT_TIMEOUT ) {    r == WSASend( sero packet ); /* see comments
inpgwin32_select() */    [ analyze result of WSASend:        * if success then return 1        * WSAEWOULDBLOCK -
continueloop        * SOCKET_ERROR - return 0    ]} else    break;
 
}    

I'm not sure that is more clean way...


-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/
 


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

Предыдущее
От: Florian Weimer
Дата:
Сообщение: Re: Index Tuning Features
Следующее
От: "Dawid Kuroczko"
Дата:
Сообщение: GROUP BY on a large table -- an idea