From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: EINTR in ftruncate() |
Date: | 2022-07-11 09:30:07 |
Message-ID: | 20220711093007.amilmhvnmjt6ygp3@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2022-Jul-07, Thomas Munro wrote:
> On Thu, Jul 7, 2022 at 9:05 AM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> > On Thu, Jul 7, 2022 at 9:03 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > > On 2022-07-07 08:56:33 +1200, Thomas Munro wrote:
> > > > On Thu, Jul 7, 2022 at 8:39 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > > > > So I think we need: 1) block most signals, 2) a retry loop *without*
> > > > > interrupt checks.
>
> Here's a draft patch that tries to explain all this in the commit
> message and comments.
I gave 0001 a try. I agree with the approach, and it seems to work as
intended; or at least I couldn't break it under GDB.
I didn't look at 0002, but I wish that the pgstat_report_wait calls were
moved to cover both syscalls in a separate commit, just so we still have
them even if we decide not to do 0002.
Do you intend to get it pushed before the next minors? I have an
interest in that happening. Thanks for working on this.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"Here's a general engineering tip: if the non-fun part is too complex for you
to figure out, that might indicate the fun part is too ambitious." (John Naylor)
https://postgr.es/m/CAFBsxsG4OWHBbSDM%3DsSeXrQGOtkPiOEOuME4yD7Ce41NtaAD9g%40mail.gmail.com
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2022-07-11 09:45:07 | Re: Fix gcc warning in sync.c (usr/src/backend/storage/sync/sync.c) |
Previous Message | Aleksander Alekseev | 2022-07-11 09:27:50 | Re: CREATE TABLE ( .. STORAGE ..) |