Re: postmaster.pid

"Magnus Hagander" <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32
Message-ID <[email protected]>
> > however I have an hour or so now so I'll take a quick look at the 
> > kill() issue.
> 
> OK, quick (untested) hack below. Open to suggestions if 
> anyone's got a better way to do it...
> 
> Regards, Dave
> 
> Index: kill.c
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/port/kill.c,v
> retrieving revision 1.2
> diff -u -r1.2 kill.c
> --- kill.c	24 Jun 2004 18:53:48 -0000	1.2
> +++ kill.c	24 Aug 2004 15:56:03 -0000
> @@ -25,8 +25,25 @@
>  	BYTE		sigData = sig;
>  	BYTE		sigRet = 0;
>  	DWORD		bytes;
> +	DWORD		handle;
>  
> -	if (sig >= PG_SIGNAL_COUNT || sig <= 0)
> +	/* Look, but don't touch... */
> +	if (sig == 0)
> +	{
> +		handle = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE,
> pid);
> +		if (!handle)
> +		{
> +			errno = EINVAL;
> +			return -1;
> +		}
> +		else
> +		{
> +			CloseHandle(handle);
> +			return 0;
> +		}
> +	}
> +	
> +	/* Regular kill... */
> +	if (sig >= PG_SIGNAL_COUNT || sig < 0)
>  	{
>  		errno = EINVAL;
>  		return -1;
> 

I think it's better to call uor named pipe. That way we'll find out if
it's actually a postmaster of ours or a different process alltogether
there.
Just make sure the backend can deal with signal number = 0 and discard
that one (haven't got the code around to check right now, but it should
be a simple if-then-don't in the backend code, if it's not already
there. backend/port/win32/signal.c IIRC)

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [email protected] so that your
      message can get through to the mailing list cleanly
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.