MFC 273644,273738:

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
This commit is contained in:
jhb 2014-11-02 23:22:22 +00:00
parent e57a7947db
commit a245d679cf
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_pop
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