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 in pgwin32_select()
 */
                [ analyze result of WSASend:
                        * if success then return 1
                        * WSAEWOULDBLOCK - continue loop
                        * SOCKET_ERROR - return 0
                ]
        } else
                break;
}
                

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


--
Teodor Sigaev                                   E-mail: [EMAIL PROTECTED]
                                                   WWW: http://www.sigaev.ru/

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to