Attached patch implements that idea.
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:
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 al
Teodor Sigaev <[EMAIL PROTECTED]> writes:
> Patch solves the problem with blocking backend in
> pgwin32_waitforsinglesocket()
> when it tries to send something to stat collector.
Adding the looping in pgwin32_send() seems clearly correct, since there
could be multiple processes trying to send to
Patch solves the problem with blocking backend in pgwin32_waitforsinglesocket()
when it tries to send something to stat collector.
Patch makes two thing:
1) pgwin32_waitforsinglesocket(): WaitForMultipleObjectsEx now called with
finite timeout (100ms) in case of FP_WRITE and UDP socket. If timeou