[ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE - Mailing list pgsql-odbc

From
Subject [ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE
Date
Msg-id 20090104030114.BF1B617ADE6D@pgfoundry.org
Whole thread Raw
List pgsql-odbc
Bugs item #1010541, was opened at 2008-12-29 20:42
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1010541&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
oftencrash because of it.  Libraries have no business generating SIGPIPE, so MSG_NOSIGNAL/MSG_NOSIGPIPE/etc. should be
specifiedfor 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=1010541&group_id=1000125

pgsql-odbc by date:

Previous
From: "Hiroshi Saito"
Date:
Subject: Re: Compiling psqlODBC on Unix without postgres installation
Next
From:
Date:
Subject: [ psqlodbc-Bugs-1010397 ] SQLForeignKeys no rows returned