pgsql: Avoid extra system calls to block SIGPIPE if the platform

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Avoid extra system calls to block SIGPIPE if the platform
Date: 2009-07-24 17:58:31
Message-ID: 20090724175832.00C9C75331E@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Avoid extra system calls to block SIGPIPE if the platform provides either
sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL flag to send().

We assume these features are available if (1) the symbol is defined at
compile time and (2) the kernel doesn't reject the call at runtime.
It might turn out that there are some platforms where (1) and (2) are
true and yet the signal isn't really blocked, in which case applications
would die on server crash. If that sort of thing gets reported, then
we'll have to add additional defenses of some kind.

Jeremy Kerr

Modified Files:
--------------
pgsql/src/interfaces/libpq:
fe-connect.c (r1.375 -> r1.376)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-connect.c?r1=1.375&r2=1.376)
fe-secure.c (r1.127 -> r1.128)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-secure.c?r1=1.127&r2=1.128)
libpq-int.h (r1.143 -> r1.144)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/libpq-int.h?r1=1.143&r2=1.144)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2009-07-24 19:35:26 pgsql: Document \dg+ and \du+ The fact that \dg and \du take the +
Previous Message Tom Lane 2009-07-24 15:03:07 pgsql: Add commentary about Cygwin's broken erand48, per report from