diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2006-10-13 14:00:17 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2006-10-13 14:00:17 +0000 |
commit | 9f1b531420ee13d04c7701b34bb4b874df7ff2fa (patch) | |
tree | b82283f3273348255f0d7fd4a8e9d14812345369 /src/backend/executor/nodeFunctionscan.c | |
parent | 87d57b6c933aced417a9fce439af39d33ca38812 (diff) | |
download | postgresql-9f1b531420ee13d04c7701b34bb4b874df7ff2fa.tar.gz postgresql-9f1b531420ee13d04c7701b34bb4b874df7ff2fa.zip |
Fix infinite sleep and failes of send in Win32.
1) pgwin32_waitforsinglesocket(): WaitForMultipleObjectsEx now called with
finite timeout (100ms) in case of FP_WRITE and UDP socket. If timeout occurs
then pgwin32_waitforsinglesocket() tries to write empty packet goes to
WaitForMultipleObjectsEx again.
2) pgwin32_send(): add loop around WSASend and pgwin32_waitforsinglesocket().
The reason is: for overlapped socket, 'ok' result from
pgwin32_waitforsinglesocket() isn't guarantee that socket is still free,
it can become busy again and following WSASend call will fail with
WSAEWOULDBLOCK error.
See http://archives.postgresql.org/pgsql-hackers/2006-10/msg00561.php
Diffstat (limited to 'src/backend/executor/nodeFunctionscan.c')
0 files changed, 0 insertions, 0 deletions