aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Łyszczek <michal.lyszczek@bofc.pl>2018-09-26 20:53:21 +0200
committerMichał Łyszczek <michal.lyszczek@bofc.pl>2018-09-26 20:53:21 +0200
commit6c54897035ec11d9434e1c49e82cf937bd41ae90 (patch)
tree568e6cfbf61c9f077615eec225472d1434f49f90
parent3cfd2e39a0496e7f6113566bc450661f0191b2cc (diff)
downloadlibrb-6c54897035ec11d9434e1c49e82cf937bd41ae90.tar.gz
librb-6c54897035ec11d9434e1c49e82cf937bd41ae90.tar.bz2
librb-6c54897035ec11d9434e1c49e82cf937bd41ae90.zip
fix: rb_posix_read not returning ECANCELED after rb_stop()
-rw-r--r--rb.c2
-rw-r--r--tests.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/rb.c b/rb.c
index b7b938f..273c3d3 100644
--- a/rb.c
+++ b/rb.c
@@ -858,6 +858,7 @@ static long rb_recvt
pthread_mutex_unlock(&rb->rlock);
trace(("read unlock"));
trace(("i/force exit"));
+ errno = ECANCELED;
return -1;
}
@@ -1336,6 +1337,7 @@ long rb_sendt
pthread_mutex_unlock(&rb->wlock);
trace(("i/write unlock"));
trace(("i/force exit"));
+ errno = ECANCELED;
return -1;
}
diff --git a/tests.c b/tests.c
index bc6dca9..1a7e152 100644
--- a/tests.c
+++ b/tests.c
@@ -249,6 +249,7 @@ static void *multi_consumer(void *arg)
* force exit received
*/
+ mt_fail(errno == ECANCELED);
return NULL;
}
}