Re: [HACKERS] [PATCHES] fork/exec patch

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: [HACKERS] [PATCHES] fork/exec patch
Дата
Msg-id 303E00EBDD07B943924382E153890E5434AA30@cuthbert.rcsinc.local
обсуждение исходный текст
Список pgsql-hackers-win32
Steve Tibbett wrote:
> Ah I see what you're saying, the polling isn't the
WaitForSingleObject,
> it's that the main thread that's going to have to poll something to
see
> if the thread that's doing the WaitForSingleObject has woken up and
set
> a signal or something.

QueueUserAPCEx is perfect: it provides all the niceties of signaling
without having to deal with 'polling' (main thread state checking),
timeouts, loops, or any other such things.  In fact, this will fit
perfectly with the pipes implementation i.e. thread startup upon signal
action, alter main backend thread, execute signal action (in main thread
context), drop thread, with near instantaneous response.  Looking at it
from the top down, this is a 'push' not a 'pull' model.

Also, this does not rely on generating an access violation, which would
implementation of normal thread signaling (i/o completion ports) in the
future more difficult.  Assuming the implementation is robust,
QueueUserAPCEx suits postgres perfectly.


What license is QueueUserAPCEx distributed under? :)  Is there any
security or usability issues regarding installation of a kernel mode
driver?

Merlin

В списке pgsql-hackers-win32 по дате отправления:

Предыдущее
От: "Steve Tibbett"
Дата:
Сообщение: Re: [HACKERS] [PATCHES] fork/exec patch
Следующее
От: "Steve Tibbett"
Дата:
Сообщение: Re: [HACKERS] [PATCHES] fork/exec patch