Browse Source

- 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@
OPENBSD_4_4
kurt 16 years ago
parent
commit
2815da0a3f
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      src/lib/libc/stdlib/system.3

+ 7
- 2
src/lib/libc/stdlib/system.3 View File

@ -29,9 +29,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" 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 .Dt SYSTEM 3
.Os .Os
.Sh NAME .Sh NAME
@ -66,6 +66,11 @@ Otherwise,
.Fn system .Fn system
returns the termination status of the shell in the format specified by returns the termination status of the shell in the format specified by
.Xr waitpid 2 . .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 .Sh RETURN VALUES
If a child process cannot be created, or the termination status of If a child process cannot be created, or the termination status of
the shell cannot be obtained, the shell cannot be obtained,


Loading…
Cancel
Save