diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/aio/aio.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/src/aio/aio.c b/src/aio/aio.c index dae97cc6..6d34fa86 100644 --- a/src/aio/aio.c +++ b/src/aio/aio.c @@ -280,6 +280,8 @@ static int submit(struct aiocb *cb, int op)  	if (!q) {  		if (errno != EBADF) errno = EAGAIN; +		cb->__ret = -1; +		cb->__err = errno;  		return -1;  	}  	q->ref++; @@ -303,8 +305,8 @@ static int submit(struct aiocb *cb, int op)  	if (pthread_create(&td, &a, io_thread_func, &args)) {  		pthread_mutex_lock(&q->lock);  		__aio_unref_queue(q); -		errno = EAGAIN; -		ret = -1; +		cb->__err = errno = EAGAIN; +		cb->__ret = ret = -1;  	}  	pthread_sigmask(SIG_SETMASK, &origmask, 0); | 
