From 5cc93f9b21f26b204dba4b496ccc0f732b268c3f Mon Sep 17 00:00:00 2001 From: Niklas Halle Date: Mon, 8 Jun 2020 14:56:34 +0200 Subject: force flush after header write --- 03_exercise/srv/shell.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/03_exercise/srv/shell.c b/03_exercise/srv/shell.c index 0419f35..95c9982 100644 --- a/03_exercise/srv/shell.c +++ b/03_exercise/srv/shell.c @@ -6,6 +6,9 @@ #include #include #include +#include +#include +#include #include "array.h" #include "process.h" @@ -123,7 +126,12 @@ void send_file(int client_fd, char *path) { return; } - usleep(250); + int flag = 1; + // force flush + setsockopt(client_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); + flag = 0; + + usleep(150); memset(buffer, 0, BUF_SIZE); @@ -156,16 +164,16 @@ void signal_handler(int signal) { bool check_put(char *buffer, int sock) { // "<