diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2023-10-07 14:26:23 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2023-10-25 09:53:27 +0200 |
commit | 5706bf3efa8d8262982bbed15fb041e536f56cf2 (patch) | |
tree | 3cd9db132bb5756bdaa64982b63ad9b9dbe4aaad /src/lib/shm_rdrbuff.c | |
parent | 180e92c5f13b99ed171e8efe11058eb943bc6506 (diff) | |
download | ouroboros-5706bf3efa8d8262982bbed15fb041e536f56cf2.tar.gz ouroboros-5706bf3efa8d8262982bbed15fb041e536f56cf2.zip |
lib: Wrap pthread_cond_timedwait for NULL abstime
We often have the pattern where we NULL-check abstime for
pthread_cond_timedwait to call pthread_cond_wait if it is.
Added a __timedwait function to wrap this.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib/shm_rdrbuff.c')
-rw-r--r-- | src/lib/shm_rdrbuff.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/lib/shm_rdrbuff.c b/src/lib/shm_rdrbuff.c index 56ae484e..a8c346ae 100644 --- a/src/lib/shm_rdrbuff.c +++ b/src/lib/shm_rdrbuff.c @@ -402,13 +402,7 @@ ssize_t shm_rdrbuff_alloc_b(struct shm_rdrbuff * rdrb, #else while (!shm_rdrb_free(rdrb, 1) && ret != ETIMEDOUT) { #endif - if (abstime != NULL) - ret = pthread_cond_timedwait(rdrb->healthy, - rdrb->lock, - abstime); - else - ret = pthread_cond_wait(rdrb->healthy, rdrb->lock); - + ret = __timedwait(rdrb->healthy, rdrb->lock, abstime); #ifdef SHM_RDRB_MULTI_BLOCK if (blocks + *rdrb->head > (SHM_BUFFER_SIZE)) padblocks = (SHM_BUFFER_SIZE) - *rdrb->head; |