From: | Thomas Munro <munro(at)ip9(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Multithreaded SIGPIPE race in libpq on Solaris |
Date: | 2014-08-29 08:53:32 |
Message-ID: | CADLWmXUdijRLzV0-aD7L3ndQw1u3a5xKT025nJ+R7Tqva5+66w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 29 August 2014 01:04, Thomas Munro <munro(at)ip9(dot)org> wrote:
> On 28 August 2014 23:45, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> I don't claim to be an expert on this stuff, but I had the idea that
>> multithreaded environments were supposed to track signal state per-thread
>> not just per-process, precisely because of issues like this.
>
> After some googling, I found reply #3 in
> https://community.oracle.com/thread/1950900?start=0&tstart=0 and
> various other sources which say that in Solaris versions 10 they
> changed SIGPIPE delivery from per process (as specified by UNIX98) to
> per thread (as specified by POSIX:2001). But we are on version 11, so
> my theory doesn't look great. (Though 9 is probably still in use out
> there somewhere...)
I discovered that the machine we saw the problem on was running
Solaris 9 at the time, but has been upgraded since. So I think my
sigwait race theory may have been correct, but we can just put this
down to a historical quirk and forget about it, because Solaris 9 is
basically deceased ("extended support" ends in October 2014). Sorry
for the noise.
Best regards,
Thomas Munro
From | Date | Subject | |
---|---|---|---|
Next Message | arhipov | 2014-08-29 09:04:12 | Re: Why data of timestamptz does not store value of timezone passed to it? |
Previous Message | Mark Kirkwood | 2014-08-29 04:35:35 | Re: Per table autovacuum vacuum cost limit behaviour strange |