Magnus Hagander wrote:
(*) the process who kill the signal:
- put the signal in a *shared memory variable
pg_signal_queue* and
SetEvent(*shared_memory_event_variable*), then it is done;
(*) the process who should receive the signal:
- the main thread of this process could be awakened by the
event from waiting status(like semop()) or
CHECK_FOR_INTERRUPTS() actively; -- there is no other threads
of this process;
Any show-stop reasons of not doing this?
Yeah, that should work. With one shared memory segment and one event for
each process, of course. The event can be the same one as is used now,
only it has to be named so it can be accessed externally.
I assume that this will not break the use of pg_ctl to deliver
pseudo-signals. That would be a show-stopper.
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match