Skip site navigation (1) Skip section navigation (2)

Re: Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch)

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 (view raw or flat)
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

pgsql-hackers-win32 by date

Next:From: Merlin MoncureDate: 2003-12-19 13:44:45
Subject: Re: Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch)
Previous:From: Merlin MoncureDate: 2003-12-18 19:05:57
Subject: Signals on Win32 (was RE: [HACKERS] [PATCHES] fork/exec patch)

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group