Re: SIGPIPE handling, take two. - Mailing list pgsql-patches

From Gaetano Mendola
Subject Re: SIGPIPE handling, take two.
Date
Msg-id 3FB0C0CE.6050007@bigfoot.com
Whole thread Raw
In response to Re: SIGPIPE handling, take two.  (Gaetano Mendola <mendola@bigfoot.com>)
List pgsql-patches
Gaetano Mendola wrote:

> Bruce Momjian wrote:
>
>> I think this is the patch I like.  It does the auto-detect handling as I
>> hoped.  I will just do the doc updates to mention it.
>>
>> My only issue is that this is per-connection, while I think you have to
>> create a global variable that defaults to false, and on first connect,
>> check, and not after.  Based on the code below, a second connection
>> would  have the SIGPIPE signal set to SIG_IGN, not SIG_DEF, and you
>> would be back to setting SIG_IGN around each send, even though it was
>> already set.
>>
>> Are others OK with this too?
>
>
> I believe that the are some errors on the following code:
>
> #if !defined(HAVE_POSIX_SIGNALS)
>      {
>          pqsigfunc old;
>           old = signal(SIGPIPE, SIG_IGN);
>          if (old != SIG_DFL)
>              conn->do_sigaction = false;
>          signal(SIGPIPE, old);
>      }
> #else
>     {
>          struct sigaction oact;
>
>          if (sigaction(SIGPIPE, NULL, &oact) == 0 && oact.sa_handler !=
> SIG_DFL)
>              conn->do_sigaction = false;
>      }
> #endif   /* !HAVE_POSIX_SIGNALS */
>
> the old signal handler is not reinstated in case of
> HAVE_POSIX_SIGNAL

Forget the message :-)

Gaetano








pgsql-patches by date:

Previous
From: Gaetano Mendola
Date:
Subject: Re: SIGPIPE handling, take two.
Next
From: mendola@bigfoot.com
Date:
Subject: cancel <3FB0B7CB.2070602@bigfoot.com>