summaryrefslogtreecommitdiff
path: root/docs/capng_setpid.3
blob: 320f1174b20501522f479a2ab267274dfd63fdb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
.TH "CAPNG_SETPID" "3" "June 2009" "Red Hat" "Libcap-ng API"
.SH NAME
capng_setpid \- set working pid
.SH "SYNOPSIS"
.B #include <cap-ng.h>
.sp
void capng_setpid(int pid);

.SH "DESCRIPTION"

capng_pid sets the working pid for capabilities operations. This is useful if you want to get the capabilities of a different process.

.SH NOTES

If your process calls
.B fork
, then the child process will still have the pid of the parent process stored in libcap-ng's internal data. It is disallowed to do any kind of setcap operations because you would be crossing process boundaries. To correct this, if your program links against pthreads, then libcap-ng will use the
.B pthread_atfork
function (as a weak symbol) to reset the pid information to the new process automatically. You are not required to link against pthreads. You can call
.B capng_setpid
and adjust the stored pid manually.

.SH "RETURN VALUE"

None.

.SH "SEE ALSO"

.BR capng_get_caps_process (3),
.BR capabilities (7)

.SH AUTHOR
Steve Grubb