I'm wondering if the mechanism used for sending signals between postmaster processes on Win32 is much more heavyweight that is necessary.

Is there a reason not to call OpenThread on the target postmaster's thread id, and then use QueueUserAPC to execute a 'signal handler' method on it? (Or Terminate Thread for 'extreme' cases).

I don't think its entirely trivial because it would be better to cache the handles for a short time rather than Open/Queue/Close each time, so it may still be necessary to have a background thread that checks the handles are not signalled and closes them if they are. But signal delivery could be somewhat faster.

Haven't tried it - but I can't help thinking that the named pipe service is a bit heavyweight.

James



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to