diff options
| author | Alejandro Colomar <alx@kernel.org> | 2023-03-17 17:08:01 +0100 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2023-03-30 15:14:55 +0200 |
| commit | 4131356cdab8d37fc395ca5466a0401c8573380c (patch) | |
| tree | 8c4c6f1c3172358b735b481cbbfdd9cc04b00ed9 /man3/setjmp.3 | |
| parent | fd00f831b52d61a91d59cb3b46182869145d9700 (diff) | |
| download | man-pages-4131356cdab8.tar.gz | |
man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections
- Add a new HISTORY section that covers the history of an API, both
regarding implementations and regarding old standards. This was
previously covered in VERSIONS, and in some cases in STANDARDS.
- Repurpose VERSIONS to cover differing implementations in _current_
systems.
- STANDARDS is reduced to only cover current versions of standards.
That basically means only C11 (C99 has been superseeded by C11; C17
is just a bugfix of C11, so not really a new version), and
POSIX.1-2008 (*-2001 was superseeded by *-2008; *-2017 was just a
bugfix for *-2008). The section also mentions for example 'Linux',
'GNU' or 'BSD' when a non-standard API is Linux- or GNU-only or if
it's (de-facto) standard in the BSDs.
- In some cases content that should go into one of these sections was
in NOTES. Move it from there to where it corresponds.
- In the SYNOPSIS, I added [[deprecated]] in some functions that I
found are deprecated by the relevant standards.
- A few other related changes...
Cc: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man3/setjmp.3')
| -rw-r--r-- | man3/setjmp.3 | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/man3/setjmp.3 b/man3/setjmp.3 index a8516590a2..138db4ca2c 100644 --- a/man3/setjmp.3 +++ b/man3/setjmp.3 @@ -141,14 +141,28 @@ T} Thread safety MT-Safe .ad .sp 1 .SH STANDARDS -.BR setjmp (), -.BR longjmp (): -POSIX.1-2001, POSIX.1-2008, C89, C99. +.TP +.BR setjmp () +.TQ +.BR longjmp () +C11, POSIX.1-2008. +.TP +.BR sigsetjmp () +.TQ +.BR siglongjmp () +POSIX.1-2008. +.SH HISTORY +.TP +.BR setjmp () +.TQ +.BR longjmp () +POSIX.1-2001, C89. +.TP +.BR sigsetjmp () +.TQ +.BR siglongjmp () +POSIX.1-2001. .PP -.BR sigsetjmp (), -.BR siglongjmp (): -POSIX.1-2001, POSIX.1-2008. -.SH NOTES POSIX does not specify whether .BR setjmp () will save the signal mask @@ -188,7 +202,7 @@ with calls to with a nonzero .I savesigs argument. -.PP +.SH NOTES .BR setjmp () and .BR longjmp () @@ -203,7 +217,7 @@ if you want to portably save and restore signal masks, use and .BR siglongjmp (). See also the discussion of program readability below. -.PP +.SH CAVEATS The compiler may optimize variables into registers, and .BR longjmp () may restore the values of other registers in addition to the @@ -259,7 +273,7 @@ calls may not even be in the same source code module. In summary, nonlocal gotos can make programs harder to understand and maintain, and an alternative should be used if possible. .\" -.SS Caveats +.SS Undefined Behavior If the function which called .BR setjmp () returns before |
