Clarify that pthread_cleanup_push()/pop() are implemented as macros that

create a new code block and thus must be balanced at the same lexical
scope.  (This is also a requirement in POSIX.)

PR:		194280
Submitted by:	dr2867.business@pacbell.net
MFC after:	1 week
This commit is contained in:
John Baldwin 2014-10-25 19:31:34 +00:00
parent 14127f5b21
commit 613a9773e5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=273644
2 changed files with 18 additions and 2 deletions

View file

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd July 30, 1998
.Dd October 25, 2014
.Dt PTHREAD_CLEANUP_POP 3
.Os
.Sh NAME
@ -50,6 +50,14 @@ If there is no cleanup routine
then
.Fn pthread_cleanup_pop
does nothing.
.Pp
The
.Fn pthread_cleanup_push
function is implemented as a macro that closes a block.
Invocations of this function must appear as standalone statements that are
paired with an earlier call of
.Xr pthread_cleanup_push 3
in the same lexical scope.
.Sh RETURN VALUES
The
.Fn pthread_cleanup_pop

View file

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd July 30, 1998
.Dd October 25, 2014
.Dt PTHREAD_CLEANUP_PUSH 3
.Os
.Sh NAME
@ -52,6 +52,14 @@ When
is called, it is passed
.Fa arg
as its only argument.
.Pp
The
.Fn pthread_cleanup_push
function is implemented as a macro that opens a new block.
Invocations of this function must appear as standalone statements that are
paired with a later call of
.Xr pthread_cleanup_pop 3
in the same lexical scope.
.Sh RETURN VALUES
The
.Fn pthread_cleanup_push