fix type error (arch-dependent) in new aio code
authorRich Felker <dalias@aerifal.cx>
Sat, 14 Feb 2015 19:05:35 +0000 (14:05 -0500)
committerRich Felker <dalias@aerifal.cx>
Sat, 14 Feb 2015 19:05:35 +0000 (14:05 -0500)
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.

src/aio/aio.c

index 7bf2b3374e75a7b24f11c74d1b9e7cc8ce0d0bb5..d1ee76811ef26b7b8ba2c14ab492461f507ffc21 100644 (file)
@@ -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)