From: | "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> |
---|---|
To: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> |
Cc: | "pgsql-hackers-win32" <pgsql-hackers-win32(at)postgresql(dot)org> |
Subject: | Re: Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch) |
Date: | 2003-12-19 10:00:47 |
Message-ID: | 46C15C39FEB2C44BA555E356FBCD6FA496208E@m0114.s-mxs.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers-win32 |
> > How about the typical answer on Windows ? Create an invisible Window
> > with an Event Handler and pass it a windows message ?
>
> The issue at hand is not how the signal is sent, but the behavior taken
> once it arrives. Using messages bypasses the thread problem but
> requires PeekMessage() to be put in various places to check if there is
> a signal waiting to be acted on, which is really any easier then
> SleepEx(0), although, it does bypass the threading issues.
I think that is not correct.
hWnd = CreateWindow ("STATIC", "", WS_POPUP, 0, 0, 0, 0,NULL,NULL,NULL,NULL);
ShowWindow (hWnd, SW_HIDE);
wpOrigProc = (WNDPROC) SetWindowLong(hWnd, GWL_WNDPROC, (LONG) pg_WinProc);
LRESULT APIENTRY pg_WinProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
MSG rMsg;
rMsg.message = uMsg;
rMsg.wParam = wParam;
rMsg.lParam = lParam;
// printf ("got message %d\n", rMsg.message);
switch (rMsg.message)
{
case PG_SIGNAL_KILL:
......
}
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2003-12-19 13:44:45 | Re: Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch) |
Previous Message | Merlin Moncure | 2003-12-18 19:05:57 | Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch) |