Port: Add compat for platforms with no MSG_NOSIGNAL or SO_NOSIGPIPE
[lttng-tools.git] / src / common / sessiond-comm / unix.c
index bee133d8d9cbf8f32c70e8d849c4371ac6e7e1fc..5e0ba62812307d239a6d2f9db76475deb481a976 100644 (file)
@@ -16,7 +16,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
 #define _LGPL_SOURCE
 #include <assert.h>
 #include <limits.h>
@@ -183,7 +182,7 @@ ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len)
 
        do {
                len_last = iov[0].iov_len;
-               ret = recvmsg(sock, &msg, MSG_NOSIGNAL);
+               ret = lttng_recvmsg_nosigpipe(sock, &msg);
                if (ret > 0) {
                        iov[0].iov_base += ret;
                        iov[0].iov_len -= ret;
@@ -525,7 +524,7 @@ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len,
        }
 
        memcpy(creds, CMSG_DATA(cmptr), sizeof_cred);
-#elif (defined(__FreeBSD__) || defined(__CYGWIN__))
+#elif (defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__sun__))
        {
                int peer_ret;
 
@@ -558,7 +557,7 @@ int lttcomm_setsockopt_creds_unix_sock(int sock)
        }
        return ret;
 }
-#elif (defined(__FreeBSD__) || defined(__CYGWIN__))
+#elif (defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__sun__))
 LTTNG_HIDDEN
 int lttcomm_setsockopt_creds_unix_sock(int sock)
 {
This page took 0.028729 seconds and 5 git commands to generate.