diff options
author | Dimitri Staessens <[email protected]> | 2018-03-15 21:14:41 +0100 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2018-03-16 12:05:40 +0100 |
commit | 4e775400564cc02b51978dc2671c126ff8da5e9d (patch) | |
tree | da32085328ab436bfc74ce11b7cde17e745e2c84 /src/tools/ocbr/ocbr_server.c | |
parent | 7602d165397aae3fc83e3a7b1efe1c0df2044572 (diff) | |
download | ouroboros-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 <[email protected]>
Signed-off-by: Sander Vrijders <[email protected]>
Diffstat (limited to 'src/tools/ocbr/ocbr_server.c')
-rw-r--r-- | src/tools/ocbr/ocbr_server.c | 2 |
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); |