[ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE
От | |
---|---|
Тема | [ psqlodbc-Bugs-1010541 ] applications crash with SIGPIPE |
Дата | |
Msg-id | 20100521035652.57A98107164F@pgfoundry.org обсуждение исходный текст |
Список | 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: Closed 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 по дате отправления: