struct aiocb *cb;
struct aio_thread *next, *prev;
struct aio_queue *q;
- int running, err, op;
+ volatile int running;
+ int err, op;
ssize_t ret;
};
* 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)