diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-04-22 03:05:39 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-05-15 20:30:15 +0200 |
commit | 03d50fbd77481568bb2127d8b92e22d2cdc61ab8 (patch) | |
tree | 1eb1d695e3ee6739288cc61c9f9fc4491be9e4c7 | |
parent | ff0a8993d4716cb7729f4a0ffab9ab242f82b242 (diff) |
sysdeps-unix: if MSG_NOSIGNAL is available don't touch SIGPIPE by default
If we can use MSG_NOSIGNAL we don't have to play games with SIGPIPE
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/configure.in b/configure.in index 9e047eae..88d2164c 100644 --- a/configure.in +++ b/configure.in @@ -769,6 +769,9 @@ AC_CHECK_HEADERS(sys/uio.h, [AC_CHECK_FUNCS(writev)]) dnl needed on darwin for NAME_MAX AC_CHECK_HEADERS(sys/syslimits.h) +dnl Make it easy to check if we have MSG_NOSIGNAL without actually having to include sys/socket.h +AC_CHECK_DECLS([MSG_NOSIGNAL], [], [], [[ #include <sys/socket.h> ]]) + dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 947c0afe..afa0ca6a 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -223,7 +223,11 @@ struct DBusPreallocatedSend DBusList *counter_link; /**< Preallocated link in the resource counter */ }; +#ifdef HAVE_DECL_MSG_NOSIGNAL +static dbus_bool_t _dbus_modify_sigpipe = FALSE; +#else static dbus_bool_t _dbus_modify_sigpipe = TRUE; +#endif /** * Implementation details of DBusConnection. All fields are private. |