Thread (5 messages) flat view 5 messages, 2 authors, 2021-02-20
STALE2030d

[PATCH v2] aio_suspend.3: SYNOPSIS: Use 'restrict' in prototypes

From: Alejandro Colomar <hidden>
Date: 2021-02-19 13:06:56
Subsystem: the rest · Maintainer: Linus Torvalds

POSIX does NOT specify aio_suspend() to use 'restrict'.
However, glibc uses 'restrict'.
Users might be surprised by this!  Let's use it here too!

......

.../glibc$ grep_glibc_prototype aio_suspend
rt/aio.h:167:
extern int aio_suspend (const struct aiocb *const __list[], int __nent,
			const struct timespec *__restrict __timeout)
  __nonnull ((1));
.../glibc$

Cc: libc-alpha@sourceware.org
Cc: Ulrich Drepper <redacted>
Signed-off-by: Alejandro Colomar <redacted>
---

v2:
	- wsfix + srcfix: Avoid breaking the line in the prototype
	- Note the difference between POSIX and glibc in CONFORMING TO.

---
 man3/aio_suspend.3 | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/man3/aio_suspend.3 b/man3/aio_suspend.3
index 76a05f48e..e0355a449 100644
--- a/man3/aio_suspend.3
+++ b/man3/aio_suspend.3
@@ -30,8 +30,8 @@ aio_suspend \- wait for asynchronous I/O operation or timeout
 .PP
 .B "#include <aio.h>"
 .PP
-.BI "int aio_suspend(const struct aiocb * const " aiocb_list [],
-.BI "                int " nitems ", const struct timespec *" timeout );
+.BI "int aio_suspend(const struct aiocb *const " aiocb_list "[], int " nitems ,
+.BI "                const struct timespec *restrict " timeout );
 .PP
 Link with \fI\-lrt\fP.
 .fi
@@ -122,6 +122,10 @@ T}	Thread safety	MT-Safe
 .sp 1
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
+.PP
+POSIX doesn't specify the parameters to be
+.IR restrict ;
+that is specific to glibc.
 .SH NOTES
 One can achieve polling by using a non-NULL
 .I timeout
-- 
2.30.1.721.g45526154a5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help