diff options
author | dimitri staessens <[email protected]> | 2017-10-14 08:29:50 +0000 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2017-10-14 08:29:50 +0000 |
commit | 1888c137a8ff315bc549c16740aa727da8c666f5 (patch) | |
tree | 9cd6534cdd79de613e1be76d876d435db8e344b5 /src | |
parent | 76ce1f398a6efae7f62b6e786ef94e89be0784c1 (diff) | |
parent | 7a98128e053ccd59203757982f7332ed5e4568ea (diff) | |
download | ouroboros-1888c137a8ff315bc549c16740aa727da8c666f5.tar.gz ouroboros-1888c137a8ff315bc549c16740aa727da8c666f5.zip |
Merged in dstaesse/ouroboros/be-fix-multiblock (pull request #627)
lib: Re-enable multi-block support
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/lib/config.h.in | 1 | ||||
-rw-r--r-- | src/lib/dev.c | 2 | ||||
-rw-r--r-- | src/tools/cbr/cbr_client.c | 4 |
4 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 6ab5ebc8..00670f65 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -165,6 +165,8 @@ set(SHM_RDRB_NAME "/${SHM_PREFIX}.rdrb" CACHE INTERNAL "Name for the main POSIX shared memory buffer") set(SHM_RDRB_BLOCK_SIZE "sysconf(_SC_PAGESIZE)" CACHE STRING "SDU buffer block size, multiple of pagesize for performance") +set(SHM_RDRB_MULTI_BLOCK true CACHE BOOL + "SDU buffer multiblock SDU support") set(SHM_RBUFF_LOCKLESS 0 CACHE BOOL "Enable shared memory lockless rbuff support") diff --git a/src/lib/config.h.in b/src/lib/config.h.in index a85ce7b4..40ac945d 100644 --- a/src/lib/config.h.in +++ b/src/lib/config.h.in @@ -27,6 +27,7 @@ #define SYS_MAX_FLOWS @SYS_MAX_FLOWS@ #cmakedefine SHM_RBUFF_LOCKLESS +#cmakedefine SHM_RDRB_MULTI_BLOCK #define SHM_RBUFF_PREFIX "@SHM_RBUFF_PREFIX@" #define SHM_LOCKFILE_NAME "@SHM_LOCKFILE_NAME@" diff --git a/src/lib/dev.c b/src/lib/dev.c index 9cb6f2ed..e6e5b4d4 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -1095,6 +1095,8 @@ ssize_t flow_write(int fd, DU_BUFF_TAILSPACE, buf, count); + if (idx < 0) + return idx; pthread_rwlock_rdlock(&ai.lock); } diff --git a/src/tools/cbr/cbr_client.c b/src/tools/cbr/cbr_client.c index decf6f96..79425ff2 100644 --- a/src/tools/cbr/cbr_client.c +++ b/src/tools/cbr/cbr_client.c @@ -102,7 +102,7 @@ int client_main(char * server, ts_add(&end, &intv, &end); memcpy(buf, &seqnr, sizeof(seqnr)); - if (flow_write(fd, buf, size) == -1) { + if (flow_write(fd, buf, size) < 0) { stop = true; continue; } @@ -120,7 +120,7 @@ int client_main(char * server, } else { /* flood */ while (!stop) { clock_gettime(CLOCK_REALTIME, &end); - if (flow_write(fd, buf, (size_t) size) == -1) { + if (flow_write(fd, buf, (size_t) size) < 0) { stop = true; continue; } |