diff --git a/src/net/common/senderthread.cpp b/src/net/common/senderthread.cpp index 7525e54d..da015248 100644 --- a/src/net/common/senderthread.cpp +++ b/src/net/common/senderthread.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -27,7 +28,10 @@ using namespace std; -#define SEND_ERROR_TIMEOUT_MSEC 20000 +#define SEND_ERROR_TIMEOUT_MSEC 20000 +#define SEND_TIMEOUT_MSEC 10 +#define SEND_QUEUE_SIZE 1000 +#define SEND_LOW_PRIO_QUEUE_SIZE 50000 SenderThread::SenderThread(SenderCallback &cb) : m_tmpOutBufSize(0), m_callback(cb) @@ -193,7 +197,7 @@ SenderThread::Main() if (selectResult > 0) // send is possible { // send next chunk of data - int bytesSent = send(tmpSocket, m_tmpOutBuf, m_tmpOutBufSize, 0); + int bytesSent = send(tmpSocket, m_tmpOutBuf, m_tmpOutBufSize, SOCKET_SEND_FLAGS); if (!IS_VALID_SEND(bytesSent)) { diff --git a/src/net/linux/socket_startup.cpp b/src/net/linux/socket_startup.cpp index 75c6d42e..169af573 100644 --- a/src/net/linux/socket_startup.cpp +++ b/src/net/linux/socket_startup.cpp @@ -26,14 +26,12 @@ #include #include #include -#include using namespace std; bool socket_startup() { - signal(SIGPIPE, SIG_IGN); return true; } diff --git a/src/net/senderthread.h b/src/net/senderthread.h index e8388d76..efe9b8a4 100644 --- a/src/net/senderthread.h +++ b/src/net/senderthread.h @@ -22,7 +22,6 @@ #define _SENDERTHREAD_H_ #include -#include #include #include #include @@ -31,9 +30,6 @@ #include #define SENDER_THREAD_TERMINATE_TIMEOUT THREAD_WAIT_INFINITE -#define SEND_TIMEOUT_MSEC 10 -#define SEND_QUEUE_SIZE 1000 -#define SEND_LOW_PRIO_QUEUE_SIZE 50000 class SenderThread : public Thread { diff --git a/src/net/socket_helper.h b/src/net/socket_helper.h index c0f1d951..613942c6 100644 --- a/src/net/socket_helper.h +++ b/src/net/socket_helper.h @@ -34,6 +34,7 @@ #define SOCKET_ERR_WOULDBLOCK WSAEWOULDBLOCK #define SOCKET_ERR_NOTCONN WSAENOTCONN #define SOCKET_ERR_NOTSOCK WSAENOTSOCK +#define SOCKET_SEND_FLAGS 0 #ifndef IPV6_V6ONLY #define IPV6_V6ONLY 27 @@ -62,6 +63,7 @@ typedef unsigned char u_char; #define SOCKET_ERR_WOULDBLOCK EINPROGRESS #define SOCKET_ERR_NOTCONN ENOTCONN #define SOCKET_ERR_NOTSOCK ENOTSOCK +#define SOCKET_SEND_FLAGS MSG_NOSIGNAL #endif