>>> Taking into account Claudios comments on the previous patch,
>>as well as
>>> some more fooling around here of my own, here's a fourth
>Actually, please hold just a second :-)
>I have an updated version of this patch that fixes the remaining small
>issue (FATAL on failure to set the control handler). Will post later
>tonight or early tomorrow. Only veyr small changes, so if there are no
>objections to this one, there shouldn't be to that one either.
Here's the new one. Turns out I had already fixed the one part I thought
I still had, so it was already ready.
Changes since last patch:
1) Error messages in pgwin32_signal_initialize() are now all using
ereport(). (Previously used fprintf to stderr, but I realised that this
function executes on the main thread and can thus use ereport). The
error for SetConsoleCtrlHandler() is now FATAL, per suggestion from
2) Redefines CHECK_FOR_INTERRUPTS() on Win32 only, to include a call to
WaitForSingleObjectEx(). This allows our signals to be delivered just
before we check for their result. WIth this change, query cancel now
works fine on win32. It's also possible to do an "administrator
shutdown" on a backend that is running a query (previously only possible
when the backend was idle)
The rest is identical to patch _4.
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?