Singnals code (not just win32 specific) - Mailing list pgsql-hackers

From Magnus Hagander
Subject Singnals code (not just win32 specific)
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE1715AD@algol.sollentuna.se
Whole thread Raw
Responses Re: Singnals code (not just win32 specific)  (Jan Wieck <JanWieck@Yahoo.com>)
List pgsql-hackers
Hello!

The backend signals code today uses pqsignal() instead of signal() at
all places. But it uses kill() and sigsetmask() (through the macro
PG_SETMASK) directly.

I propose to change this to pqkill() and pqsigsetmask(). In pqsignal.h,
these would be #define:d back to kill() and setsigmask() for the normal
method, but would be functions on win32.

The other option is to provide our own kill() function and not rename,
but that could cause problems if we ever link against a runtime library
that provides kill() (say, the MS libraries) - we need to have our own
version of kill called. And overriding "standard library" functions by
linking in a function with the same name seems a bit kludgy to me.

While this should have no effect on the functionality on non-win32
backends, it does affect the code in places that are not win32-local.

Would a patch to change kill() to pqkill() be accepted? If not, do you
have a preference on another way to tackle the issue?

//Magnus


pgsql-hackers by date:

Previous
From: mitani
Date:
Subject: Abstract for my replication system
Next
From: "Simon Riggs"
Date:
Subject: Re: cache control?