From e31f8c2aed558185c1acbd969fb0d057c23e6190 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 2 Nov 2017 11:37:10 +0100 Subject: [PATCH] No sigpipe on think different. --- common/TracySocket.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common/TracySocket.cpp b/common/TracySocket.cpp index 073afcbb..e1e85100 100644 --- a/common/TracySocket.cpp +++ b/common/TracySocket.cpp @@ -82,6 +82,10 @@ bool Socket::Connect( const char* addr, const char* port ) for( ptr = res; ptr; ptr = ptr->ai_next ) { if( ( sock = socket( ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol ) ) == -1 ) continue; +#if defined __MACOSX__ || defined __IPHONE__ + int val = 1; + setsockopt( m_sock, SOL_SOCKET, SO_NOSIGPIPE, &val, sizeof( val ) ); +#endif if( connect( sock, ptr->ai_addr, ptr->ai_addrlen ) == -1 ) { #ifdef _MSC_VER @@ -247,6 +251,10 @@ Socket* ListenSocket::Accept() if( FD_ISSET( m_sock, &fds ) ) { int sock = accept( m_sock, (sockaddr*)&remote, &sz); +#if defined __MACOSX__ || defined __IPHONE__ + int val = 1; + setsockopt( m_sock, SOL_SOCKET, SO_NOSIGPIPE, &val, sizeof( val ) ); +#endif if( sock == -1 ) { return nullptr;