about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-02-14 14:05:35 -0500
committerRich Felker <dalias@aerifal.cx>2015-02-14 14:05:35 -0500
commitfd850de7524d8b62cd1d340417b665ed9427adae (patch)
treeb8923e6311c4405a6ca589eb9415a38a2b84b387
parent7c5f0a5212127b70486159af80e24fd96262ec88 (diff)
downloadmusl-fd850de7524d8b62cd1d340417b665ed9427adae.tar.gz
musl-fd850de7524d8b62cd1d340417b665ed9427adae.tar.xz
musl-fd850de7524d8b62cd1d340417b665ed9427adae.zip
fix type error (arch-dependent) in new aio code
a_store is only valid for int, but ssize_t may be defined as long or
another type. since there is no valid way for another thread to acess
the return value without first checking the error/completion status of
the aiocb anyway, an atomic store is not necessary.
-rw-r--r--src/aio/aio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/aio/aio.c b/src/aio/aio.c
index 7bf2b337..d1ee7681 100644
--- a/src/aio/aio.c
+++ b/src/aio/aio.c
@@ -148,7 +148,7 @@ static void cleanup(void *ctx)
 	 * Types 1-3 are notified via atomics/futexes, mainly for AS-safety
 	 * considerations. Type 4 is notified later via a cond var. */
 
-	a_store(&cb->__ret, at->ret);
+	cb->__ret = at->ret;
 	if (a_swap(&at->running, 0) < 0)
 		__wake(&at->running, -1, 1);
 	if (a_swap(&cb->__err, at->err) != EINPROGRESS)