]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/man/man3/posix_spawn_file_actions_addclose.3
xnu-4903.270.47.tar.gz
[apple/xnu.git] / bsd / man / man3 / posix_spawn_file_actions_addclose.3
index 6cd2033c3d3715dd90d9b2e4076c16a6a6c87f22..36c64715d518f5595ac55f86dba45f7ff9293349 100644 (file)
@@ -1,5 +1,5 @@
 .\"
 .\"
-.\" Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+.\" Copyright (c) 2000-2010 Apple Inc. All rights reserved.
 .\"
 .\" @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 .\" 
 .\"
 .\" @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 .\" 
@@ -27,7 +27,7 @@
 .\"
 .\"     @(#)posix_spawn_file_actions_addclose.3
 .
 .\"
 .\"     @(#)posix_spawn_file_actions_addclose.3
 .
-.Dd August 22, 2007
+.Dd November 2, 2010
 .Dt POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE 3
 .Os "Mac OS X"
 .Sh NAME
 .Dt POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE 3
 .Os "Mac OS X"
 .Sh NAME
 .Fa "int filedes"
 .Fa "int newfiledes"
 .Fc
 .Fa "int filedes"
 .Fa "int newfiledes"
 .Fc
+.Ft int
+.Fo posix_spawn_file_actions_addinherit_np
+.Fa "posix_spawn_file_actions_t *file_actions"
+.Fa "int filedes"
+.Fc
 .Sh DESCRIPTION
 The
 .Fn posix_spawn_file_actions_addclose
 .Sh DESCRIPTION
 The
 .Fn posix_spawn_file_actions_addclose
@@ -115,6 +120,42 @@ is created as if
 had been called on
 .Em filedes
 prior to the new child process starting execution.
 had been called on
 .Em filedes
 prior to the new child process starting execution.
+.Pp
+The
+.Fn posix_spawn_file_actions_addinherit_np
+function adds an abstract inheritance operation to the
+list of operations associated with the object referenced by
+.Em file_actions ,
+for subsequent use in a call to
+.Xr posix_spawn 2
+or
+.Xr posix_spawnp 2 .
+The pre-existing descriptor referred to by
+.Em filedes
+is marked for inheritance into the new process image, and the
+.Em FD_CLOEXEC
+flag is cleared from the file descriptor in the new process image.
+.Pp
+Normally, for
+.Xr posix_spawn 2
+and
+.Xr posix_spawnp 2 ,
+all file descriptors are inherited from the parent process
+into the spawned process, except for those explicitly
+marked as close-on-exec.  However if the flag
+.Em POSIX_SPAWN_CLOEXEC_DEFAULT
+is set, then during the spawn operation, all pre-existing
+file descriptors in the parent process are treated as if they
+had been marked close-on-exec i.e. none of them are automatically
+inherited.  See
+.Xr posix_spawnattr_setflags 3 .
+Only file descriptors explicitly manipulated via 
+.Em file_actions
+are made available in the spawned process. In that case,
+.Fn posix_spawn_file_actions_addinherit_np
+can be used to make specific pre-existing file
+descriptors from the parent process be
+available in the spawned process.
 .Sh RETURN VALUES
 On success, these functions return 0; on failure they return an error
 number from
 .Sh RETURN VALUES
 On success, these functions return 0; on failure they return an error
 number from
@@ -127,7 +168,7 @@ These functions may fail if:
 The value specified by
 .Fa filedes
 is negative or would cause the process to exceed the maximum number of
 The value specified by
 .Fa filedes
 is negative or would cause the process to exceed the maximum number of
-open files it is allowed..
+open files it is allowed.
 .\" ==========
 .It Bq Er EINVAL
 The value of
 .\" ==========
 .It Bq Er EINVAL
 The value of
@@ -135,7 +176,7 @@ The value of
 is invalid.
 .\" ==========
 .It Bq Er ENOMEM
 is invalid.
 .\" ==========
 .It Bq Er ENOMEM
-Insufficient memory was available eo add to the
+Insufficient memory was available to add the new action to
 .Fa file_actions .
 .El
 .Sh SEE ALSO
 .Fa file_actions .
 .El
 .Sh SEE ALSO
@@ -143,6 +184,7 @@ Insufficient memory was available eo add to the
 .Xr posix_spawnp 2 ,
 .Xr posix_spawn_file_actions_init 3 ,
 .Xr posix_spawn_file_actions_destroy 3 ,
 .Xr posix_spawnp 2 ,
 .Xr posix_spawn_file_actions_init 3 ,
 .Xr posix_spawn_file_actions_destroy 3 ,
+.Xr posix_spawnattr_setflags 3 .
 .Sh STANDARDS
 .St -susv3 [SPN]
 .Sh HISTORY
 .Sh STANDARDS
 .St -susv3 [SPN]
 .Sh HISTORY