From 2815da0a3fbf2ae9b303e805c6829650f3f3d958 Mon Sep 17 00:00:00 2001 From: kurt <> Date: Fri, 4 Apr 2008 19:30:41 +0000 Subject: [PATCH] - do not call pthread_atfork(3) handlers when a multithreaded program calls vfork(2). "untested, but looks OK" marc@ - document vfork(2), popen(3) and system(3) don't call atfork handlers in multithreaded programs. okay jmc@ --- src/lib/libc/stdlib/system.3 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/libc/stdlib/system.3 b/src/lib/libc/stdlib/system.3 index 338d3bfa..a49e595b 100644 --- a/src/lib/libc/stdlib/system.3 +++ b/src/lib/libc/stdlib/system.3 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: system.3,v 1.10 2007/05/31 19:19:32 jmc Exp $ +.\" $OpenBSD: system.3,v 1.11 2008/04/04 19:30:41 kurt Exp $ .\" -.Dd $Mdocdate: May 31 2007 $ +.Dd $Mdocdate: April 4 2008 $ .Dt SYSTEM 3 .Os .Sh NAME @@ -66,6 +66,11 @@ Otherwise, .Fn system returns the termination status of the shell in the format specified by .Xr waitpid 2 . +.Pp +Note that fork handlers established using +.Xr pthread_atfork 3 +are not called when a multithreaded program calls +.Fn system . .Sh RETURN VALUES If a child process cannot be created, or the termination status of the shell cannot be obtained,