summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2011-03-15 11:47:38 +0100
committerAlexander Larsson <alexl@redhat.com>2011-03-15 11:47:38 +0100
commit9a26fd25af21b10350f79b7d1049588880e40448 (patch)
tree5cc4c2a37cf434ecc4b0e33d3e6f5d2920425ae3
parent760525889046e7029779b0831d84e4d48d14f297 (diff)
downloadgtk+-broadway.tar.gz
broadway: Enable TCP_NODELAY for output socketbroadway
This makes us send data immediately, giving a much snappier over-network experience.
-rw-r--r--gdk/broadway/broadway.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdk/broadway/broadway.c b/gdk/broadway/broadway.c
index d5e944d382..714905f9cf 100644
--- a/gdk/broadway/broadway.c
+++ b/gdk/broadway/broadway.c
@@ -4,6 +4,10 @@
#include <assert.h>
#include <errno.h>
#include <zlib.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
#include "broadway.h"
@@ -540,12 +544,15 @@ BroadwayOutput *
broadway_output_new(int fd, guint32 serial)
{
BroadwayOutput *output;
+ int flag = 1;
output = g_new0 (BroadwayOutput, 1);
output->fd = fd;
output->serial = serial;
+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));
+
broadway_output_write_header (output);
output->zfd = gzdopen(fd, "wb");