Re: postmaster.pid

Joerg Hessdoerfer <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32
Organization S.E.A Datentechnik GmbH
Message-ID <[email protected]>
Hi,

On Wednesday 25 August 2004 16:21, Magnus Hagander wrote:
> > >> > But sure, we don't really care if it's a postmaster. Then
> > >> > OpenProcess() is probably the best way, yes.
> > >>
> > >> Au contraire!!  One of the problems with the Unix
> >
> > implementation is
> >
> > >> that you *can't* tell for sure if the target process is a
> >
> > postmaster.
> >
> > >> See past discussions about how startup occasionally fails
> >
> > because we
> >
> > >> get fooled by the PID mentioned in postmaster.pid now belonging to
> > >> pg_ctl or some other Postgres-owned process.
> > >>
> > >> This is a place where the Windows version can actually be
> >
> > better than
> >
> > >> the Unix one.  Please fix it and stop imagining that your
> >
> > charter is
> >
> > >> to duplicate a particular Unix syscall bug-for-bug.
> > >
> > > Ok, if you say so :-) I had the general impression we
> >
> > wanted that. But
> >
> > > then let's go with the
> > > send-signal-0-down-the-pipe-and-ignore-it-in-the-backend. :-)

Well, wouldn't it be better then to do an OS-dependant check for a running 
postmaster, which could use kill() on IMHO broken systems where it's not easy 
to determine the processname for a PID, and more elaborate checking on 
others. On Windows, there's OpenProcess et al, on Linux, one could resort 
to /proc. I didn't develop on too many others, but there should be 
possibilities for those, too.

Greetings,
 Jörg
-- 
Leading SW developer  - S.E.A GmbH
Mail: [email protected]
WWW:  http://www.sea-gmbh.com

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
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.