Re: postmaster.pid
| От | Dave Page |
|---|---|
| Тема | Re: postmaster.pid |
| Дата | |
| Msg-id | E7F85A1B5FF8D44C8A1AF6885BC9A0E41A7870@ratbert.vale-housing.co.uk обсуждение исходный текст |
| Список | pgsql-hackers-win32 |
> -----Original Message-----
> From: pgsql-hackers-win32-owner@postgresql.org
> [mailto:pgsql-hackers-win32-owner@postgresql.org] On Behalf
> Of Dave Page
> Sent: 24 August 2004 15:55
> To: Andrew Dunstan
> Cc: Barry Lind; pgsql-hackers-win32@postgresql.org; Max Dunn
> Subject: Re: [pgsql-hackers-win32] postmaster.pid
>
>
>
> 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;
В списке pgsql-hackers-win32 по дате отправления: