summaryrefslogtreecommitdiff
path: root/libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff')
-rw-r--r--libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff28
1 files changed, 28 insertions, 0 deletions
diff --git a/libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff b/libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff
new file mode 100644
index 0000000000..1a1f590679
--- /dev/null
+++ b/libraries/libvmime-zarafa/zarafa-patches/vmime-socket-tcp-nodelay.diff
@@ -0,0 +1,28 @@
+--- libvmime-0.7.1.orig/src/platforms/posix/posixSocket.cpp 2005-03-18 22:26:49.000000000 +0100
++++ libvmime-0.7.1.patched/src/platforms/posix/posixSocket.cpp 2009-03-27 10:51:06.405594549 +0100
+@@ -24,6 +24,7 @@
+ #include <arpa/inet.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
++#include <netinet/tcp.h>
+ #include <netdb.h>
+ #include <fcntl.h>
+
+@@ -57,6 +58,8 @@
+
+ void posixSocket::connect(const vmime::string& address, const vmime::port_t port)
+ {
++ int flag = 1;
++
+ // Close current connection, if any
+ if (m_desc != -1)
+ {
+@@ -92,6 +95,8 @@
+ if (m_desc == -1)
+ throw vmime::exceptions::connection_error("Error while creating socket.");
+
++ ::setsockopt(m_desc, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(flag));
++
+ // Start connection
+ if (::connect(m_desc, reinterpret_cast <sockaddr*>(&addr), sizeof(addr)) == -1)
+ {