* aio_return(3): misleading RETURN VALUE
@ 2015-03-18 8:03 Alexander Holler
[not found] ` <5509315A.1040103-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Holler @ 2015-03-18 8:03 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w; +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA
Hello,
I've just typed in the following commit message:
--
The man page was misleading and I must have had a bad moment
mechanically coding what the man page says without thinking about it.
So I seem to have assumed that aio_return() might return EINVAL which
can't be the case. In fact the error is returned in errno which isn't
mentioned by the Linux man page for aio_return.
--
I suggest to use the same wording as in write(2) in the paragraph RETURN
VALUE:
"On error, -1 is returned, and errno is set appropriately."
I've verified it by looking at the source for aio_return of glibc.
Regards,
Alexander Holler
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: aio_return(3): misleading RETURN VALUE
[not found] ` <5509315A.1040103-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
@ 2015-03-18 12:14 ` Stéphane Aulery
[not found] ` <20150318121446.GA5160-GANU6spQydw@public.gmane.org>
2015-03-18 19:51 ` [PATCH] aio_return.3: Specifies the return values for errors Stéphane Aulery
1 sibling, 1 reply; 6+ messages in thread
From: Stéphane Aulery @ 2015-03-18 12:14 UTC (permalink / raw)
To: Alexander Holler
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA
Hello Alexander,
Le mercredi 18 mars 2015 à 09:03:38, Alexander Holler a écrit :
>
> I suggest to use the same wording as in write(2) in the paragraph RETURN
> VALUE:
>
> "On error, -1 is returned, and errno is set appropriately."
Like that ?
If the asynchronous I/O operation has completed, this function
returns the value that would have been returned in case of a
synchronous read(2), write(2), fsync(2) or fdatasync(2), call. On
error, -1 is returned, and errno is set appropriately.
If the asynchronous I/O operation has not yet completed, the return
value and effect of aio_return() are undefined.
I think that's what you meant. What will happen if the asynchronous I/O
operation has not yet completed please ?
Regards,
--
Stéphane Aulery
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: aio_return(3): misleading RETURN VALUE
[not found] ` <20150318121446.GA5160-GANU6spQydw@public.gmane.org>
@ 2015-03-18 19:21 ` Alexander Holler
[not found] ` <5509D038.7020907-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Holler @ 2015-03-18 19:21 UTC (permalink / raw)
To: Stéphane Aulery
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA
Am 18.03.2015 um 13:14 schrieb Stéphane Aulery:
> Hello Alexander,
>
> Le mercredi 18 mars 2015 à 09:03:38, Alexander Holler a écrit :
>>
>> I suggest to use the same wording as in write(2) in the paragraph RETURN
>> VALUE:
>>
>> "On error, -1 is returned, and errno is set appropriately."
>
> Like that ?
>
> If the asynchronous I/O operation has completed, this function
> returns the value that would have been returned in case of a
> synchronous read(2), write(2), fsync(2) or fdatasync(2), call. On
> error, -1 is returned, and errno is set appropriately.
>
> If the asynchronous I/O operation has not yet completed, the return
> value and effect of aio_return() are undefined.
Exactly. Thanks a lot if you change that.
> I think that's what you meant. What will happen if the asynchronous I/O
> operation has not yet completed please ?
It is still undefined, but I haven't looked that up in the source of glibc.
The reason is that aio_return() should only be called if the operation
before has completed, which must be checked with calling aio_error()
before calling aio_return().
That's how I've understood all that and how it currently seems to work
in the SW in question I've fixed a problem.
Regards,
Alexander Holler
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] aio_return.3: Specifies the return values for errors
[not found] ` <5509315A.1040103-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-03-18 12:14 ` Stéphane Aulery
@ 2015-03-18 19:51 ` Stéphane Aulery
[not found] ` <1426708273-9475-1-git-send-email-saulery-GANU6spQydw@public.gmane.org>
1 sibling, 1 reply; 6+ messages in thread
From: Stéphane Aulery @ 2015-03-18 19:51 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w
Cc: holler-SXC+2es9fhnfWeYVQQPykw, Stéphane Aulery,
linux-man-u79uwXL29TY76Z2rM5mHXA
Reported by Alexander Holler <holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
Signed-off-by: Stéphane Aulery <saulery-GANU6spQydw@public.gmane.org>
---
man3/aio_return.3 | 1 +
1 file changed, 1 insertion(+)
diff --git a/man3/aio_return.3 b/man3/aio_return.3
index 3e6f334..37d735c 100644
--- a/man3/aio_return.3
+++ b/man3/aio_return.3
@@ -55,6 +55,7 @@ the value that would have been returned in case of a synchronous
or
.BR fdatasync (2),
call.
+On error, \-1 is returned, and \fIerrno\fP is set appropriately.
If the asynchronous I/O operation has not yet completed,
the return value and effect of
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: aio_return(3): misleading RETURN VALUE
[not found] ` <5509D038.7020907-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
@ 2015-03-18 19:57 ` Stéphane Aulery
0 siblings, 0 replies; 6+ messages in thread
From: Stéphane Aulery @ 2015-03-18 19:57 UTC (permalink / raw)
To: Alexander Holler
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA
Hello Alexander,
Le mercredi 18 mars 2015 à 08:21:28, Alexander Holler a écrit :
> Am 18.03.2015 um 13:14 schrieb Stéphane Aulery:
> >Le mercredi 18 mars 2015 à 09:03:38, Alexander Holler a écrit :
> >>
> >>I suggest to use the same wording as in write(2) in the paragraph RETURN
> >>VALUE:
> >>
> >>"On error, -1 is returned, and errno is set appropriately."
> >
> >Like that ?
> >
> > If the asynchronous I/O operation has completed, this function
> > returns the value that would have been returned in case of a
> > synchronous read(2), write(2), fsync(2) or fdatasync(2), call. On
> > error, -1 is returned, and errno is set appropriately.
> >
> > If the asynchronous I/O operation has not yet completed, the return
> > value and effect of aio_return() are undefined.
>
> Exactly. Thanks a lot if you change that.
Patch is pending for review by Michael.
> >I think that's what you meant. What will happen if the asynchronous I/O
> >operation has not yet completed please ?
>
> It is still undefined, but I haven't looked that up in the source of glibc.
>
> The reason is that aio_return() should only be called if the operation
> before has completed, which must be checked with calling aio_error() before
> calling aio_return().
>
> That's how I've understood all that and how it currently seems to work in
> the SW in question I've fixed a problem.
Thank you for yours clarifications.
Regards,
--
Stéphane Aulery
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] aio_return.3: Specifies the return values for errors
[not found] ` <1426708273-9475-1-git-send-email-saulery-GANU6spQydw@public.gmane.org>
@ 2015-03-22 15:19 ` Michael Kerrisk (man-pages)
0 siblings, 0 replies; 6+ messages in thread
From: Michael Kerrisk (man-pages) @ 2015-03-22 15:19 UTC (permalink / raw)
To: Stéphane Aulery
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w,
holler-SXC+2es9fhnfWeYVQQPykw, linux-man-u79uwXL29TY76Z2rM5mHXA
On 03/18/2015 08:51 PM, Stéphane Aulery wrote:
> Reported by Alexander Holler <holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
>
> Signed-off-by: Stéphane Aulery <saulery-GANU6spQydw@public.gmane.org>
> ---
> man3/aio_return.3 | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/man3/aio_return.3 b/man3/aio_return.3
> index 3e6f334..37d735c 100644
> --- a/man3/aio_return.3
> +++ b/man3/aio_return.3
> @@ -55,6 +55,7 @@ the value that would have been returned in case of a synchronous
> or
> .BR fdatasync (2),
> call.
> +On error, \-1 is returned, and \fIerrno\fP is set appropriately.
>
> If the asynchronous I/O operation has not yet completed,
> the return value and effect of
Hi Stéphane,
Thanks! Patch applied.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-03-22 15:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-18 8:03 aio_return(3): misleading RETURN VALUE Alexander Holler
[not found] ` <5509315A.1040103-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-03-18 12:14 ` Stéphane Aulery
[not found] ` <20150318121446.GA5160-GANU6spQydw@public.gmane.org>
2015-03-18 19:21 ` Alexander Holler
[not found] ` <5509D038.7020907-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-03-18 19:57 ` Stéphane Aulery
2015-03-18 19:51 ` [PATCH] aio_return.3: Specifies the return values for errors Stéphane Aulery
[not found] ` <1426708273-9475-1-git-send-email-saulery-GANU6spQydw@public.gmane.org>
2015-03-22 15:19 ` Michael Kerrisk (man-pages)
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.