Re: Errands around AllocateDir() - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Errands around AllocateDir()
Date
Msg-id CAB7nPqR+0BJ3qgWkz9DnOhtZ8VLzUrnVCS5Aa8ubdK+YAFL5DA@mail.gmail.com
Whole thread Raw
In response to Re: Errands around AllocateDir()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Tue, Dec 5, 2017 at 7:17 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Michael Paquier <michael.paquier@gmail.com> writes:
>> I had a close look at all the callers of AllocateDir() and noticed a
>> couple of unwelcome things (Tom noticed some of those in the thread
>> mentioned above, I found others):
>
> Pushed with some minor additional fiddling.

Thanks.

> The most notable thing I changed was that instead of this:
>
>> - perform_base_backup() makes the mistake of not saving errno before
>> CheckXLogRemoved() when AllocateDir returns NULL, which can lead to an
>> incorrect error message.
>
> I modified CheckXLogRemoved() to internally guarantee that it does not
> change errno.  This is because there seemed to be other call sites that
> were depending on that, not just this one.  Anyway, that seemed like a
> more future-proof fix than relying on callers to deal with it.

Hm, OK. Yes I can see the point behind this way of doing instead,
CheckXLogRemoved() is much used in error code paths.
-- 
Michael


pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: es_query_dsa is broken
Next
From: Michael Paquier
Date:
Subject: Re: Errands around AllocateDir()