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

Reply via email to