[ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE
am 04.01.2009 04:01:14 von noreplyBugs item #1010541, was opened at 2008-12-29 20: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: Hiroshi Inoue (hinoue)
Date: 2009-01-04 03:01
Message:
I've just committed a change to CVS according to your
suggestion.
Thanks.
Hiroshi Inoue
------------------------------------------------------------ ----------
Comment By: Brian Feldman (brianfeldman)
Date: 2009-01-02 17: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 23: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