about summary refs log tree commit diff
path: root/sysdeps/pthread/aio_suspend.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/pthread/aio_suspend.c')
-rw-r--r--sysdeps/pthread/aio_suspend.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/pthread/aio_suspend.c b/sysdeps/pthread/aio_suspend.c
index 1a3ec7cc04..ffc1c64703 100644
--- a/sysdeps/pthread/aio_suspend.c
+++ b/sysdeps/pthread/aio_suspend.c
@@ -31,6 +31,7 @@
 
 #include <assert.h>
 #include <errno.h>
+#include <stdbool.h>
 #include <stdlib.h>
 #include <sys/time.h>
 
@@ -47,6 +48,7 @@ aio_suspend (list, nent, timeout)
   struct requestlist *requestlist[nent];
   pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
   int cnt;
+  bool any = false;
   int result = 0;
   int dummy;
 
@@ -70,6 +72,7 @@ aio_suspend (list, nent, timeout)
 		waitlist[cnt].sigevp = NULL;
 		waitlist[cnt].caller_pid = 0;	/* Not needed.  */
 		requestlist[cnt]->waiting = &waitlist[cnt];
+		any = true;
 	      }
 	    else
 	      /* We will never suspend.  */
@@ -82,7 +85,7 @@ aio_suspend (list, nent, timeout)
 
 
   /* Only if none of the entries is NULL or finished to be wait.  */
-  if (cnt == nent)
+  if (cnt == nent && any)
     {
       int oldstate;