[ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE

[ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE

am 02.01.2009 18:30:06 von noreply

Bugs item #1010541, was opened at 2008-12-29 15:42
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10105 41&group_id=1000125

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Brian Feldman (brianfeldman)
Assigned to: Hiroshi Inoue (hinoue)
Summary: applications crash with SIGPIPE

Initial Comment:
Any time a PostgreSQL server is restarted, applications using the ODBC driver to connect to it will get a SIGPIPE and often crash because of it. Libraries have no business generating SIGPIPE, so MSG_NOSIGNAL/MSG_NOSIGPIPE/etc. should be specified for the send(2) calls instead.

------------------------------------------------------------ ----------

>Comment By: Brian Feldman (brianfeldman)
Date: 2009-01-02 12:30

Message:
Yes, it would simply be ideal, I think, to define a platform
specific SENDFLAGS and use that for all send() calls, i.e.
simply:
/*
* Do not generate SIGPIPE for applications that get
disconnected.
*/
#if defined(MSG_NOSIGNAL)
#define SENDFLAGS MSG_NOSIGNAL
#elif defined(MSG_NOSIGPIPE)
#define SENDFLAGS MSG_NOSIGPIPE
#else
#define SENDFLAGS 0
#end

It seems that Windows actually did not copy the socket
SIGPIPE design mistake from Unix. If it did, I think it
would be appropriate to disable it there as well. Some Unix
platforms don't have a way to disable SIGPIPE at all,
unfortunately, so it cannot be consistent. Thank you for
your help!

------------------------------------------------------------ ----------

Comment By: Hiroshi Inoue (hinoue)
Date: 2008-12-30 18:00

Message:
I can't such values in Windows. Is it related to *nix platforms? If so I would take care od it in the next release.


------------------------------------------------------------ ----------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10105 41&group_id=1000125

--
Sent via pgsql-odbc mailing list (pgsql-odbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc