summaryrefslogtreecommitdiff
path: root/src/tools/ocbr/ocbr_server.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2018-03-15 21:14:41 +0100
committerSander Vrijders <sander.vrijders@ugent.be>2018-03-16 12:05:40 +0100
commit4e775400564cc02b51978dc2671c126ff8da5e9d (patch)
treeda32085328ab436bfc74ce11b7cde17e745e2c84 /src/tools/ocbr/ocbr_server.c
parent7602d165397aae3fc83e3a7b1efe1c0df2044572 (diff)
downloadouroboros-4e775400564cc02b51978dc2671c126ff8da5e9d.tar.gz
ouroboros-4e775400564cc02b51978dc2671c126ff8da5e9d.zip
tools: Use non-blocking read in servers
The oping and ocbr servers were using non-blocking read/writes. This caused writes to fail on high-performance tests if the buffer got full, instead of waiting for a slot in the buffer. The write failure caused the server to quit. This fixes the tools by setting the I/O to blocking write and non-blocking read. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Diffstat (limited to 'src/tools/ocbr/ocbr_server.c')
-rw-r--r--src/tools/ocbr/ocbr_server.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/tools/ocbr/ocbr_server.c b/src/tools/ocbr/ocbr_server.c
index 874155ed..3004d77c 100644
--- a/src/tools/ocbr/ocbr_server.c
+++ b/src/tools/ocbr/ocbr_server.c
@@ -100,7 +100,7 @@ static void handle_flow(int fd)
alive = iv_start;
ts_add(&iv_start, &intv, &iv_end);
- fccntl(fd, FLOWSFLAGS, FLOWFNONBLOCK);
+ fccntl(fd, FLOWSFLAGS, FLOWFRNOBLOCK | FLOWFRDWR);
while (!stop) {
clock_gettime(CLOCK_REALTIME, &now);