Обсуждение: libpq win32-native errno fix
i've spotted a following problem using DBD::Pg under win32. winsock functions do not set errno, so some normal conditions are treated as fatal errors. e.g. fetching large tuples fails, as at some point recv() returns EWOULDBLOCK. here's a patch, which replaces errno with WSAGetLastError(). i've tried to to affect non-win32 code. /Dmitry
Вложения
This is great. We knew we had errno problems on Win32 but no one could
generate a patch.
Your patch has been added to the PostgreSQL unapplied patches list at:
http://candle.pha.pa.us/cgi-bin/pgpatches
I will try to apply it within the next 48 hours.
> i've spotted a following problem using DBD::Pg under win32. winsock
> functions do not set errno, so some normal conditions are treated as
> fatal errors. e.g. fetching large tuples fails, as at some point recv()
> returns EWOULDBLOCK. here's a patch, which replaces errno with
> WSAGetLastError(). i've tried to to affect non-win32 code.
>
> /Dmitry
>
>
[ Attachment, skipping... ]
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Thanks. Patch applied. I am waiting for another patch from Darko Prenosil to apply in addition to yours. This should fix our Win32 problems. > i've spotted a following problem using DBD::Pg under win32. winsock > functions do not set errno, so some normal conditions are treated as > fatal errors. e.g. fetching large tuples fails, as at some point recv() > returns EWOULDBLOCK. here's a patch, which replaces errno with > WSAGetLastError(). i've tried to to affect non-win32 code. > > /Dmitry > > [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026