aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/array_userfuncs.c
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2006-10-13 13:59:47 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2006-10-13 13:59:47 +0000
commit47df6e7e2d754c6330e85d247987352f0a25e60a (patch)
tree268aaa8571228af6f49fa63692cff4534875500f /src/backend/utils/adt/array_userfuncs.c
parentefa0e8639f1314b8114e5c9565518d9ed5cb3c40 (diff)
downloadpostgresql-47df6e7e2d754c6330e85d247987352f0a25e60a.tar.gz
postgresql-47df6e7e2d754c6330e85d247987352f0a25e60a.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/utils/adt/array_userfuncs.c')
0 files changed, 0 insertions, 0 deletions