From 26c76a908b8613ea8a77d40f3bd51b02f984501c Mon Sep 17 00:00:00 2001 From: Alexey Izbyshev Date: Fri, 7 Oct 2022 15:23:57 +0300 Subject: fix use of uninitialized dummy_fut in aio_suspend aio_suspend waits on a dummy futex in the corner case when the array of requests contains NULL pointers only. But the value of this futex was left uninitialized, so if it happens to be non-zero, aio_suspend degrades to spinning instead of blocking. --- src/aio/aio_suspend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/aio/aio_suspend.c b/src/aio/aio_suspend.c index 95def796..1f0c9aaa 100644 --- a/src/aio/aio_suspend.c +++ b/src/aio/aio_suspend.c @@ -9,7 +9,7 @@ int aio_suspend(const struct aiocb *const cbs[], int cnt, const struct timespec { int i, tid = 0, ret, expect = 0; struct timespec at; - volatile int dummy_fut, *pfut; + volatile int dummy_fut = 0, *pfut; int nzcnt = 0; const struct aiocb *cb = 0; -- cgit 1.4.1