about summary refs log tree commit diff
path: root/rt/lio_listio.c
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lio_listio.c')
-rw-r--r--rt/lio_listio.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/rt/lio_listio.c b/rt/lio_listio.c
index e4d972960f..03c3bf2f6b 100644
--- a/rt/lio_listio.c
+++ b/rt/lio_listio.c
@@ -93,7 +93,7 @@ lio_listio (mode, list, nent, sig)
 	  {
 	    waitlist[cnt].cond = &cond;
 	    waitlist[cnt].next = requests[cnt]->waiting;
-	    waitlist[cnt].counterp = NULL;
+	    waitlist[cnt].counterp = &total;
 	    waitlist[cnt].sigevp = NULL;
 	    requests[cnt]->waiting = &waitlist[cnt];
 	    ++total;
@@ -105,8 +105,7 @@ lio_listio (mode, list, nent, sig)
       pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate);
 
       while (total > 0)
-	if (pthread_cond_wait (&cond, &__aio_requests_mutex) == 0)
-	  --total;
+	pthread_cond_wait (&cond, &__aio_requests_mutex);
 
       /* Now it's time to restore the cancelation state.  */
       pthread_setcancelstate (oldstate, NULL);