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
|
Список | 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 по дате отправления: