]> granicus.if.org Git - postgresql/commit
Avoid extra system calls to block SIGPIPE if the platform provides either
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 24 Jul 2009 17:58:31 +0000 (17:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 24 Jul 2009 17:58:31 +0000 (17:58 +0000)
commitcea80e726edd42a39bb0220290738f7825de8e57
tree172b8c33dec5a477a3adb6010a5c6207ef608f86
parent655473a7cd3903d2ce75054468c855d5c294aaf9
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
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-secure.c
src/interfaces/libpq/libpq-int.h