Can we simplify win32 threading code - Mailing list pgsql-hackers

From Qingqing Zhou
Subject Can we simplify win32 threading code
Date
Msg-id d73on5$13f2$1@news.hub.org
Whole thread Raw
List pgsql-hackers
Currently PG win32 port mainly does the following to simulate signals:

(*) the process who kill the signal:- put the signal in a named pipe, then it is done;

(*) the process who should receive the signal:- a non-stop thread "pg_signal_thread" will read the signal from the
pipe,
and start another thread "pg_signal_dispatch_thread", which puts the signal
in a local memory variable "pg_signal_queue" and
SetEvent(local_memory_event_variable);- the main thread of this process could be awakened by the event from
waiting status(like semop()) or CHECK_FOR_INTERRUPTS() actively;


Could we simplify this process like this:

(*) 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?

Regards,
Qingqing




pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Josh Narins' Subcountry System
Next
From: Neil Conway
Date:
Subject: foreign keys and RI triggers