Re: Errno checks for rmtree() - Mailing list pgsql-patches

From Tom Lane
Subject Re: Errno checks for rmtree()
Date
Msg-id 24650.1108256353@sss.pgh.pa.us
Whole thread Raw
In response to Errno checks for rmtree()  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Errno checks for rmtree()  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> + static void
> + rmtree_errno(char *filepath)
> + {
> +     if (errno == EACCES)
> + #ifndef FRONTEND
> +         elog(LOG, "no permission to remove \"%s\"", filepath);
> + #else
> +         fprintf(stderr, "no permission to remove \"%s\"", filepath);
> + #endif
> +     else if (errno == EBUSY)
> [ etc ]

This seems awfully bogus: it's incomplete and not in the style of our
other error messages.  Why not just one case:

#ifndef FRONTEND
    elog(LOG, "could not remove \"%s\": %m", filepath);
#else
    fprintf(stderr, "could not remove \"%s\": %s\n", filepath,
        strerror(errno));
#endif

Also, I'm unconvinced that LOG is the appropriate error level;
WARNING would probably be better.

            regards, tom lane

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [ADMIN] Migration of log features from 7.4 to 8.0
Next
From: Bruce Momjian
Date:
Subject: Re: Errno checks for rmtree()