On Tue, 2007-10-09 at 14:25 +0200, Peter Eisentraut wrote:
> Am Dienstag, 9. Oktober 2007 schrieb Simon Riggs:
> > On Tue, 2007-10-09 at 13:20 +0200, Magnus Hagander wrote:
> > > On Tue, Oct 09, 2007 at 01:09:19PM +0200, Peter Eisentraut wrote:
> > > > Well, this objection could apply to any place where a file is being
> > > > opened. I'm curious how you plan to sort out the difference,
> > > > considering that open() simply returns ENOENT in both cases.
> > >
> > > You'd do opendir() on the directory part fisrt, I assume.
> >
> > Yes, so we catch the real error.
> Note that opendir() requires different permissions than reading or writing a 
> file in that directory.  So you might in fact be catching the wrong error.  
> stat() might work better, but I'm not sure.

Yeh, I presumed he was speaking Windows

> You would also have to cope with the directory structure changing as you 
> traverse it.

No directory. pid file is in data directory root

We'll still fail with the old error if anything changes

> Also consider the effort required to slice apart directory names in a 
> portable 
> way and iterate and catch all these problems.  This could at best be used in 
> a limited number of places where pilot errors are common.

Nothing to do. The -D option supplies the data dir name, we add the pid
file name on top, so no munging required.

> I believe, however, that this approach is wrong.  The "real error", as you 
> put 
> it, is the one reported by the kernel -- by definition.  Everything else is 
> at best a "hint".
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


Reply via email to