1 .\"
2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
5 .\" 1.0 of the CDDL.
6 .\"
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
10 .\"
11 .\"
12 .\" Copyright 2015 Joyent, Inc.
13 .\"
14 .Dd May 11, 2016
15 .Dt PREOPEN 3PROC
16 .Os
17 .Sh NAME
18 .Nm Preopen
19 .Nd reopen a process
20 .Sh SYNOPSIS
21 .Lb libproc
22 .In libproc.h
23 .Ft int
24 .Fo Preopen
25 .Fa "struct ps_prochandle *P"
26 .Fc
27 .Sh DESCRIPTION
28 The
29 .Fn Preopen
30 function is used to regain control of the process represented by the
31 handle
32 .Fa P .
33 A loss of control is indicated by the
34 .Xr Pstatus 3PROC
35 function returning the value
36 .Dv PS_LOST .
37 This may occur when the controlled process performs an
38 .Xr exec 2
39 of a setuid or setgid binary or one where the controlling process cannot
40 read the object file.
41 For more information on this, see the
42 .Sy PROGRAMMING NOTES
43 section of
44 .Xr proc 4 .
45 .Pp
46 If successful, the controlling process will obtain control of the
47 process specified by
48 .Fa P .
49 If it fails, the controlling process should release the handle with
50 .Xr Prelease 3PROC .
51 Note there are occasions where due to permissions it may not be possible
52 to obtain control again.
53 .Sh RETURN VALUES
54 Upon successful completion, the
55 .Fn Preopen
56 function returns
57 .Sy 0.
58 Otherwise,
59 .Sy -1
60 is returned.
61 .Sh INTERFACE STABILITY
62 .Sy Uncommitted
63 .Sh MT-LEVEL
64 See
65 .Sy LOCKING
66 in
67 .Xr libproc 3LIB .
68 .Sh SEE ALSO
69 .Xr exec 2 ,
70 .Xr libproc 3LIB ,
71 .Xr Prelease 3PROC ,
72 .Xr Pstatus 3PROC ,
73 .Xr proc 4