msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-03-22 01:06+0900\n"
+"POT-Creation-Date: 2013-04-30 20:30+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "SYNOPSIS"
msgstr ""
-#. Actually _BSD_SOURCE || _SVID_SOURCE
-#. FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749
#. type: Plain text
-#: build/C/man3/CPU_SET.3:39 build/C/man2/clone.2:54 build/C/man2/sched_setaffinity.2:42 build/C/man2/setns.2:15 build/C/man2/unshare.2:29
+#: build/C/man3/CPU_SET.3:39 build/C/man2/sched_setaffinity.2:42 build/C/man2/setns.2:15
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:60 build/C/man2/kcmp.2:41 build/C/man2/sched_get_priority_max.2:38 build/C/man3/sched_getcpu.3:37 build/C/man2/sched_rr_get_interval.2:36 build/C/man2/sched_setaffinity.2:49 build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66 build/C/man2/sched_yield.2:36 build/C/man2/setns.2:18 build/C/man2/unshare.2:32
+#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:86 build/C/man2/kcmp.2:41 build/C/man2/sched_get_priority_max.2:38 build/C/man3/sched_getcpu.3:55 build/C/man2/sched_rr_get_interval.2:36 build/C/man2/sched_setaffinity.2:49 build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66 build/C/man2/sched_yield.2:36 build/C/man2/setns.2:18 build/C/man2/unshare.2:50
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:806 build/C/man2/kcmp.2:124 build/C/man2/sched_get_priority_max.2:86 build/C/man3/sched_getcpu.3:40 build/C/man2/sched_rr_get_interval.2:73 build/C/man2/sched_setaffinity.2:107 build/C/man2/sched_setparam.2:87 build/C/man2/sched_setscheduler.2:422 build/C/man2/sched_yield.2:41 build/C/man2/setns.2:70 build/C/man2/unshare.2:189
+#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:874 build/C/man2/kcmp.2:124 build/C/man2/sched_get_priority_max.2:86 build/C/man3/sched_getcpu.3:58 build/C/man2/sched_rr_get_interval.2:73 build/C/man2/sched_setaffinity.2:107 build/C/man2/sched_setparam.2:87 build/C/man2/sched_setscheduler.2:422 build/C/man2/sched_yield.2:41 build/C/man2/setns.2:70 build/C/man2/unshare.2:207
#, no-wrap
msgid "RETURN VALUE"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:923 build/C/man2/kcmp.2:195 build/C/man3/sched_getcpu.3:52 build/C/man2/sched_setaffinity.2:148 build/C/man2/setns.2:97 build/C/man2/unshare.2:206
+#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:991 build/C/man2/kcmp.2:195 build/C/man3/sched_getcpu.3:70 build/C/man2/sched_setaffinity.2:148 build/C/man2/setns.2:97 build/C/man2/unshare.2:224
#, no-wrap
msgid "VERSIONS"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:930 build/C/man2/kcmp.2:199 build/C/man2/sched_get_priority_max.2:100 build/C/man3/sched_getcpu.3:54 build/C/man2/sched_rr_get_interval.2:94 build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setparam.2:110 build/C/man2/sched_setscheduler.2:444 build/C/man2/sched_yield.2:52 build/C/man2/setns.2:102 build/C/man2/unshare.2:210
+#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:998 build/C/man2/kcmp.2:199 build/C/man2/sched_get_priority_max.2:100 build/C/man3/sched_getcpu.3:72 build/C/man2/sched_rr_get_interval.2:94 build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setparam.2:110 build/C/man2/sched_setscheduler.2:444 build/C/man2/sched_yield.2:52 build/C/man2/setns.2:102 build/C/man2/unshare.2:228
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:937 build/C/man2/kcmp.2:202 build/C/man3/sched_getcpu.3:57 build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setparam.2:112 build/C/man2/sched_setscheduler.2:447 build/C/man2/sched_yield.2:54 build/C/man2/setns.2:106 build/C/man2/unshare.2:214
+#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1002 build/C/man2/kcmp.2:202 build/C/man3/sched_getcpu.3:75 build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setparam.2:112 build/C/man2/sched_setscheduler.2:447 build/C/man2/sched_yield.2:54 build/C/man2/setns.2:106 build/C/man2/unshare.2:232
#, no-wrap
msgid "NOTES"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:984 build/C/man2/sched_setscheduler.2:530
+#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1027 build/C/man2/sched_setscheduler.2:530
#, no-wrap
msgid "BUGS"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1026 build/C/man2/setns.2:112
+#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1069 build/C/man2/setns.2:112
#, no-wrap
msgid "EXAMPLE"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1124 build/C/man2/kcmp.2:219 build/C/man2/sched_get_priority_max.2:102 build/C/man3/sched_getcpu.3:77 build/C/man2/sched_rr_get_interval.2:125 build/C/man2/sched_setaffinity.2:214 build/C/man2/sched_setparam.2:118 build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:78 build/C/man2/setns.2:199 build/C/man2/unshare.2:248
+#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1167 build/C/man2/kcmp.2:219 build/C/man2/sched_get_priority_max.2:102 build/C/man3/sched_getcpu.3:95 build/C/man2/sched_rr_get_interval.2:132 build/C/man2/sched_setaffinity.2:214 build/C/man2/sched_setparam.2:118 build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:78 build/C/man2/setns.2:199 build/C/man2/unshare.2:266
#, no-wrap
msgid "SEE ALSO"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1138 build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:114 build/C/man3/sched_getcpu.3:79 build/C/man2/sched_rr_get_interval.2:131 build/C/man2/sched_setaffinity.2:233 build/C/man2/sched_setparam.2:134 build/C/man2/sched_setscheduler.2:567 build/C/man2/sched_yield.2:84 build/C/man2/setns.2:205 build/C/man2/unshare.2:257
+#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1181 build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:114 build/C/man3/sched_getcpu.3:97 build/C/man2/sched_rr_get_interval.2:138 build/C/man2/sched_setaffinity.2:233 build/C/man2/sched_setparam.2:134 build/C/man2/sched_setscheduler.2:566 build/C/man2/sched_yield.2:84 build/C/man2/setns.2:205 build/C/man2/unshare.2:275
#, no-wrap
msgid "COLOPHON"
msgstr ""
#. type: Plain text
-#: build/C/man3/CPU_SET.3:368 build/C/man2/clone.2:1145 build/C/man2/kcmp.2:229 build/C/man2/sched_get_priority_max.2:121 build/C/man3/sched_getcpu.3:86 build/C/man2/sched_rr_get_interval.2:138 build/C/man2/sched_setaffinity.2:240 build/C/man2/sched_setparam.2:141 build/C/man2/sched_setscheduler.2:574 build/C/man2/sched_yield.2:91 build/C/man2/setns.2:212 build/C/man2/unshare.2:264
+#: build/C/man3/CPU_SET.3:368 build/C/man2/clone.2:1188 build/C/man2/kcmp.2:229 build/C/man2/sched_get_priority_max.2:121 build/C/man3/sched_getcpu.3:104 build/C/man2/sched_rr_get_interval.2:145 build/C/man2/sched_setaffinity.2:240 build/C/man2/sched_setparam.2:141 build/C/man2/sched_setscheduler.2:573 build/C/man2/sched_yield.2:91 build/C/man2/setns.2:212 build/C/man2/unshare.2:282
msgid ""
-"This page is part of release 3.50 of the Linux I<man-pages> project. A "
+"This page is part of release 3.51 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
msgstr ""
#. type: TH
-#: build/C/man2/clone.2:45 build/C/man2/setns.2:8
+#: build/C/man2/clone.2:45
#, no-wrap
-msgid "2013-01-01"
+msgid "2013-04-16"
msgstr ""
#. type: Plain text
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:59
+#: build/C/man2/clone.2:51
+#, no-wrap
+msgid "/* Prototype for the glibc wrapper function */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:53 build/C/man3/sched_getcpu.3:32 build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53 build/C/man2/unshare.2:26
+#, no-wrap
+msgid "B<#include E<lt>sched.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:58
#, no-wrap
msgid ""
"B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:71
+#: build/C/man2/clone.2:60
+#, no-wrap
+msgid "/* Prototype for the raw system call */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:64
+#, no-wrap
msgid ""
-"B<clone>() creates a new process, in a manner similar to B<fork>(2). It is "
-"actually a library function layered on top of the underlying B<clone>() "
-"system call, hereinafter referred to as B<sys_clone>. A description of "
-"B<sys_clone> is given toward the end of this page."
+"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
+"B< void *>I<ptid>B<, void *>I<ctid>B<,>\n"
+"B< struct pt_regs *>I<regs>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:83
+#: build/C/man2/clone.2:69
msgid ""
-"Unlike B<fork>(2), these calls allow the child process to share parts of its "
-"execution context with the calling process, such as the memory space, the "
-"table of file descriptors, and the table of signal handlers. (Note that on "
-"this manual page, \"calling process\" normally corresponds to \"parent "
+"Feature Test Macro Requirements for glibc wrapper function (see "
+"B<feature_test_macros>(7)):"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:72
+msgid "B<clone>():"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/clone.2:75 build/C/man3/sched_getcpu.3:45 build/C/man2/unshare.2:39
+#, no-wrap
+msgid "Since glibc 2.14:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48 build/C/man2/unshare.2:42
+msgid "_GNU_SOURCE"
+msgstr ""
+
+#. FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749
+#. type: TP
+#: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48 build/C/man2/unshare.2:42
+#, no-wrap
+msgid "Before glibc 2.14:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:83 build/C/man3/sched_getcpu.3:52 build/C/man2/unshare.2:47
+#, no-wrap
+msgid ""
+"_BSD_SOURCE || _SVID_SOURCE\n"
+" /* _GNU_SOURCE also suffices */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:90
+msgid "B<clone>() creates a new process, in a manner similar to B<fork>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:97
+msgid ""
+"This page describes both the glibc B<clone>() wrapper function and the "
+"underlying system call on which it is based. The main text describes the "
+"wrapper function; the differences for the raw system call are described "
+"toward the end of this page."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:109
+msgid ""
+"Unlike B<fork>(2), B<clone>() allows the child process to share parts of "
+"its execution context with the calling process, such as the memory space, "
+"the table of file descriptors, and the table of signal handlers. (Note that "
+"on this manual page, \"calling process\" normally corresponds to \"parent "
"process\". But see the description of B<CLONE_PARENT> below.)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:88
+#: build/C/man2/clone.2:114
msgid ""
"The main use of B<clone>() is to implement threads: multiple threads of "
"control in a program that run concurrently in a shared memory space."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:108
+#: build/C/man2/clone.2:134
msgid ""
"When the child process is created with B<clone>(), it executes the function "
"I<fn>(I<arg>). (This differs from B<fork>(2), where execution continues in "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:118
+#: build/C/man2/clone.2:144
msgid ""
"When the I<fn>(I<arg>) function application returns, the child process "
"terminates. The integer returned by I<fn> is the exit code for the child "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:134
+#: build/C/man2/clone.2:160
msgid ""
"The I<child_stack> argument specifies the location of the stack used by the "
"child process. Since the child and calling process may share memory, it is "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:150
+#: build/C/man2/clone.2:176
msgid ""
"The low byte of I<flags> contains the number of the I<termination signal> "
"sent to the parent when the child dies. If this signal is specified as "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:155
+#: build/C/man2/clone.2:181
msgid ""
"I<flags> may also be bitwise-or'ed with zero or more of the following "
"constants, in order to specify what is shared between the calling process "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:155
+#: build/C/man2/clone.2:181
#, no-wrap
msgid "B<CLONE_CHILD_CLEARTID> (since Linux 2.5.49)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:165
+#: build/C/man2/clone.2:191
msgid ""
"Erase child thread ID at location I<ctid> in child memory when the child "
"exits, and do a wakeup on the futex at that address. The address involved "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:165
+#: build/C/man2/clone.2:191
#, no-wrap
msgid "B<CLONE_CHILD_SETTID> (since Linux 2.5.49)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:170
+#: build/C/man2/clone.2:196
msgid "Store child thread ID at location I<ctid> in child memory."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:170
+#: build/C/man2/clone.2:196
#, no-wrap
msgid "B<CLONE_FILES> (since Linux 2.0)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:183
+#: build/C/man2/clone.2:209
msgid ""
"If B<CLONE_FILES> is set, the calling process and the child process share "
"the same file descriptor table. Any file descriptor created by the calling "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:197
+#: build/C/man2/clone.2:223
msgid ""
"If B<CLONE_FILES> is not set, the child process inherits a copy of all file "
"descriptors opened in the calling process at the time of B<clone>(). (The "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:197
+#: build/C/man2/clone.2:223
#, no-wrap
msgid "B<CLONE_FS> (since Linux 2.0)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:212
+#: build/C/man2/clone.2:238
msgid ""
"If B<CLONE_FS> is set, the caller and the child process share the same file "
"system information. This includes the root of the file system, the current "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:224
+#: build/C/man2/clone.2:250
msgid ""
"If B<CLONE_FS> is not set, the child process works on a copy of the file "
"system information of the calling process at the time of the B<clone>() "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:224
+#: build/C/man2/clone.2:250
#, no-wrap
msgid "B<CLONE_IO> (since Linux 2.6.25)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:233
+#: build/C/man2/clone.2:259
msgid ""
"If B<CLONE_IO> is set, then the new process shares an I/O context with the "
"calling process. If this flag is not set, then (as with B<fork>(2)) the "
#. the anticipatory and CFQ scheduler
#. with CFQ and AS.
#. type: Plain text
-#: build/C/man2/clone.2:250
+#: build/C/man2/clone.2:276
msgid ""
"The I/O context is the I/O scope of the disk scheduler (i.e, what the I/O "
"scheduler uses to model scheduling of a process's I/O). If processes share "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:254
+#: build/C/man2/clone.2:280
msgid ""
"If the kernel is not configured with the B<CONFIG_BLOCK> option, this flag "
"is a no-op."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:254 build/C/man2/unshare.2:78
+#: build/C/man2/clone.2:280 build/C/man2/unshare.2:96
#, no-wrap
msgid "B<CLONE_NEWIPC> (since Linux 2.6.19)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:264
+#: build/C/man2/clone.2:290
msgid ""
"If B<CLONE_NEWIPC> is set, then create the process in a new IPC namespace. "
"If this flag is not set, then (as with B<fork>(2)), the process is created "
#. commit 7eafd7c74c3f2e67c27621b987b28397110d643f
#. https://lwn.net/Articles/312232/
#. type: Plain text
-#: build/C/man2/clone.2:276
+#: build/C/man2/clone.2:302
msgid ""
"An IPC namespace provides an isolated view of System V IPC objects (see "
"B<svipc>(7)) and (since Linux 2.6.30) POSIX message queues (see "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:280
+#: build/C/man2/clone.2:306
msgid ""
"Objects created in an IPC namespace are visible to all other processes that "
"are members of that namespace, but are not visible to processes in other IPC "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:284
+#: build/C/man2/clone.2:310
msgid ""
"When an IPC namespace is destroyed (i.e., when the last process that is a "
"member of the namespace terminates), all IPC objects in the namespace are "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:293
+#: build/C/man2/clone.2:319
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_SYSVIPC> "
"and B<CONFIG_IPC_NS> options and that the process be privileged "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:293 build/C/man2/unshare.2:95
+#: build/C/man2/clone.2:319 build/C/man2/unshare.2:113
#, no-wrap
msgid "B<CLONE_NEWNET> (since Linux 2.6.24)"
msgstr ""
#. FIXME Check when the implementation was completed
#. type: Plain text
-#: build/C/man2/clone.2:298
+#: build/C/man2/clone.2:324
msgid ""
-"(The implementation of this flag was only completed by about kernel version "
+"(The implementation of this flag was completed only by about kernel version "
"2.6.29.)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:307
+#: build/C/man2/clone.2:333
msgid ""
"If B<CLONE_NEWNET> is set, then create the process in a new network "
"namespace. If this flag is not set, then (as with B<fork>(2)), the process "
#. FIXME Add pointer to veth(4) page when it is eventually completed
#. type: Plain text
-#: build/C/man2/clone.2:322
+#: build/C/man2/clone.2:348
msgid ""
"A network namespace provides an isolated view of the networking stack "
"(network device interfaces, IPv4 and IPv6 protocol stacks, IP routing "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:327
+#: build/C/man2/clone.2:353
msgid ""
"When a network namespace is freed (i.e., when the last process in the "
"namespace terminates), its physical network devices are moved back to the "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:332
+#: build/C/man2/clone.2:358
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_NET_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:332
+#: build/C/man2/clone.2:358
#, no-wrap
msgid "B<CLONE_NEWNS> (since Linux 2.4.19)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:335
+#: build/C/man2/clone.2:361
msgid "Start the child in a new mount namespace."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:356
+#: build/C/man2/clone.2:382
msgid ""
"Every process lives in a mount namespace. The I<namespace> of a process is "
"the data (the set of mounts) describing the file hierarchy as seen by that "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:363
+#: build/C/man2/clone.2:389
msgid ""
"After a B<clone>() where the B<CLONE_NEWNS> flag is set, the cloned child "
"is started in a new mount namespace, initialized with a copy of the "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:375
+#: build/C/man2/clone.2:401
msgid ""
"Only a privileged process (one having the B<CAP_SYS_ADMIN> capability) may "
"specify the B<CLONE_NEWNS> flag. It is not permitted to specify both "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:375
+#: build/C/man2/clone.2:401
#, no-wrap
msgid "B<CLONE_NEWPID> (since Linux 2.6.24)"
msgstr ""
#. The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264
#. Author: Pavel Emelyanov <xemul@openvz.org>
#. type: Plain text
-#: build/C/man2/clone.2:392
+#: build/C/man2/clone.2:418
msgid ""
"If B<CLONE_NEWPID> is set, then create the process in a new PID namespace. "
"If this flag is not set, then (as with B<fork>(2)), the process is created "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:401
+#: build/C/man2/clone.2:427
msgid ""
"A PID namespace provides an isolated environment for PIDs: PIDs in a new "
"namespace start at 1, somewhat like a standalone system, and calls to "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:413
+#: build/C/man2/clone.2:439
msgid ""
"The first process created in a new namespace (i.e., the process created "
"using the B<CLONE_NEWPID> flag) has the PID 1, and is the \"init\" process "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:432
+#: build/C/man2/clone.2:458
msgid ""
"PID namespaces form a hierarchy. When a new PID namespace is created, the "
"processes in that namespace are visible in the PID namespace of the process "
#. mount -t proc proc /proc
#. type: Plain text
-#: build/C/man2/clone.2:448
+#: build/C/man2/clone.2:474
msgid ""
"After creating the new namespace, it is useful for the child to change its "
"root directory and mount a new procfs instance at I</proc> so that tools "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:455
+#: build/C/man2/clone.2:481
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_PID_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>). This flag "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:455 build/C/man2/unshare.2:131
+#: build/C/man2/clone.2:481 build/C/man2/unshare.2:149
#, no-wrap
msgid "B<CLONE_NEWUTS> (since Linux 2.6.19)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:467
+#: build/C/man2/clone.2:493
msgid ""
"If B<CLONE_NEWUTS> is set, then create the process in a new UTS namespace, "
"whose identifiers are initialized by duplicating the identifiers from the "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:479
+#: build/C/man2/clone.2:505
msgid ""
"A UTS namespace is the set of identifiers returned by B<uname>(2); among "
"these, the domain name and the host name can be modified by "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:484
+#: build/C/man2/clone.2:510
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_UTS_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:484
+#: build/C/man2/clone.2:510
#, no-wrap
msgid "B<CLONE_PARENT> (since Linux 2.3.12)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:491
+#: build/C/man2/clone.2:517
msgid ""
"If B<CLONE_PARENT> is set, then the parent of the new child (as returned by "
"B<getppid>(2)) will be the same as that of the calling process."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:497
+#: build/C/man2/clone.2:523
msgid ""
"If B<CLONE_PARENT> is not set, then (as with B<fork>(2)) the child's parent "
"is the calling process."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:505
+#: build/C/man2/clone.2:531
msgid ""
"Note that it is the parent process, as returned by B<getppid>(2), which is "
"signaled when the child terminates, so that if B<CLONE_PARENT> is set, then "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:505
+#: build/C/man2/clone.2:531
#, no-wrap
msgid "B<CLONE_PARENT_SETTID> (since Linux 2.5.49)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:513
+#: build/C/man2/clone.2:539
msgid ""
"Store child thread ID at location I<ptid> in parent and child memory. (In "
"Linux 2.5.32-2.5.48 there was a flag B<CLONE_SETTID> that did this.)"
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:513
+#: build/C/man2/clone.2:539
#, no-wrap
msgid "B<CLONE_PID> (obsolete)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:524
+#: build/C/man2/clone.2:550
msgid ""
"If B<CLONE_PID> is set, the child process is created with the same process "
"ID as the calling process. This is good for hacking the system, but "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:524
+#: build/C/man2/clone.2:550
#, no-wrap
msgid "B<CLONE_PTRACE> (since Linux 2.2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:531
+#: build/C/man2/clone.2:557
msgid ""
"If B<CLONE_PTRACE> is specified, and the calling process is being traced, "
"then trace the child also (see B<ptrace>(2))."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:531
+#: build/C/man2/clone.2:557
#, no-wrap
msgid "B<CLONE_SETTLS> (since Linux 2.5.32)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:538
+#: build/C/man2/clone.2:564
msgid ""
"The I<newtls> argument is the new TLS (Thread Local Storage) descriptor. "
"(See B<set_thread_area>(2).)"
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:538
+#: build/C/man2/clone.2:564
#, no-wrap
msgid "B<CLONE_SIGHAND> (since Linux 2.0)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:554
+#: build/C/man2/clone.2:580
msgid ""
"If B<CLONE_SIGHAND> is set, the calling process and the child process share "
"the same table of signal handlers. If the calling process or child process "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:565
+#: build/C/man2/clone.2:591
msgid ""
"If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
"signal handlers of the calling process at the time B<clone>() is called. "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:573
+#: build/C/man2/clone.2:599
msgid ""
"Since Linux 2.6.0-test6, I<flags> must also include B<CLONE_VM> if "
"B<CLONE_SIGHAND> is specified"
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:573
+#: build/C/man2/clone.2:599
#, no-wrap
msgid "B<CLONE_STOPPED> (since Linux 2.6.0-test2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:582
+#: build/C/man2/clone.2:608
msgid ""
"If B<CLONE_STOPPED> is set, then the child is initially stopped (as though "
"it was sent a B<SIGSTOP> signal), and must be resumed by sending it a "
#. glibc 2.8 removed this defn from bits/sched.h
#. type: Plain text
-#: build/C/man2/clone.2:590
+#: build/C/man2/clone.2:616
msgid ""
"This flag was I<deprecated> from Linux 2.6.25 onward, and was I<removed> "
"altogether in Linux 2.6.38."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:590
+#: build/C/man2/clone.2:616
#, no-wrap
msgid "B<CLONE_SYSVSEM> (since Linux 2.5.10)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:599
+#: build/C/man2/clone.2:625
msgid ""
"If B<CLONE_SYSVSEM> is set, then the child and the calling process share a "
"single list of System V semaphore undo values (see B<semop>(2)). If this "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:599
+#: build/C/man2/clone.2:625
#, no-wrap
msgid "B<CLONE_THREAD> (since Linux 2.4.0-test8)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:608
+#: build/C/man2/clone.2:634
msgid ""
"If B<CLONE_THREAD> is set, the child is placed in the same thread group as "
"the calling process. To make the remainder of the discussion of "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:616
+#: build/C/man2/clone.2:642
msgid ""
"Thread groups were a feature added in Linux 2.4 to support the POSIX threads "
"notion of a set of threads that share a single PID. Internally, this shared "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:625
+#: build/C/man2/clone.2:651
msgid ""
"The threads within a group can be distinguished by their (system-wide) "
"unique thread IDs (TID). A new thread's TID is available as the function "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:635
+#: build/C/man2/clone.2:661
msgid ""
"When a call is made to B<clone>() without specifying B<CLONE_THREAD>, then "
"the resulting thread is placed in a new thread group whose TGID is the same "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:657
+#: build/C/man2/clone.2:683
msgid ""
"A new thread created with B<CLONE_THREAD> has the same parent process as the "
"caller of B<clone>() (i.e., like B<CLONE_PARENT>), so that calls to "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:662
+#: build/C/man2/clone.2:688
msgid ""
"After all of the threads in a thread group terminate the parent process of "
"the thread group is sent a B<SIGCHLD> (or other termination) signal."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:667
+#: build/C/man2/clone.2:693
msgid ""
"If any of the threads in a thread group performs an B<execve>(2), then all "
"threads other than the thread group leader are terminated, and the new "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:673
+#: build/C/man2/clone.2:699
msgid ""
"If one of the threads in a thread group creates a child using B<fork>(2), "
"then any thread in the group can B<wait>(2) for that child."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:681
+#: build/C/man2/clone.2:707
msgid ""
"Since Linux 2.5.35, I<flags> must also include B<CLONE_SIGHAND> if "
"B<CLONE_THREAD> is specified."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:686
+#: build/C/man2/clone.2:712
msgid ""
"Signals may be sent to a thread group as a whole (i.e., a TGID) using "
"B<kill>(2), or to a specific thread (i.e., TID) using B<tgkill>(2)."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:691
+#: build/C/man2/clone.2:717
msgid ""
"Signal dispositions and actions are process-wide: if an unhandled signal is "
"delivered to a thread, then it will affect (terminate, stop, continue, be "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:704
+#: build/C/man2/clone.2:730
msgid ""
"Each thread has its own signal mask, as set by B<sigprocmask>(2), but "
"signals can be pending either: for the whole process (i.e., deliverable to "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:716
+#: build/C/man2/clone.2:742
msgid ""
"If B<kill>(2) is used to send a signal to a thread group, and the thread "
"group has installed a handler for the signal, then the handler will be "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:716
+#: build/C/man2/clone.2:742
#, no-wrap
msgid "B<CLONE_UNTRACED> (since Linux 2.5.46)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:723
+#: build/C/man2/clone.2:749
msgid ""
"If B<CLONE_UNTRACED> is specified, then a tracing process cannot force "
"B<CLONE_PTRACE> on this child process."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:723
+#: build/C/man2/clone.2:749
#, no-wrap
msgid "B<CLONE_VFORK> (since Linux 2.2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:735
+#: build/C/man2/clone.2:761
msgid ""
"If B<CLONE_VFORK> is set, the execution of the calling process is suspended "
"until the child releases its virtual memory resources via a call to "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:741
+#: build/C/man2/clone.2:767
msgid ""
"If B<CLONE_VFORK> is not set then both the calling process and the child are "
"schedulable after the call, and an application should not rely on execution "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:741
+#: build/C/man2/clone.2:767
#, no-wrap
msgid "B<CLONE_VM> (since Linux 2.0)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:754
+#: build/C/man2/clone.2:780
msgid ""
"If B<CLONE_VM> is set, the calling process and the child process run in the "
"same memory space. In particular, memory writes performed by the calling "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:763
+#: build/C/man2/clone.2:789
msgid ""
"If B<CLONE_VM> is not set, the child process runs in a separate copy of the "
"memory space of the calling process at the time of B<clone>(). Memory "
msgstr ""
#. type: SS
-#: build/C/man2/clone.2:763
+#: build/C/man2/clone.2:789
#, no-wrap
-msgid "sys_clone"
+msgid "The raw system call interface"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:779
+#: build/C/man2/clone.2:805
msgid ""
-"The B<sys_clone> system call corresponds more closely to B<fork>(2) in that "
-"execution in the child continues from the point of the call. As such, the "
-"I<fn> and I<arg> arguments of the B<clone>() wrapper function are omitted. "
-"Furthermore, the argument order changes. The raw system call interface is "
-"roughly:"
+"The raw B<clone>() system call corresponds more closely to B<fork>(2) in "
+"that execution in the child continues from the point of the call. As such, "
+"the I<fn> and I<arg> arguments of the B<clone>() wrapper function are "
+"omitted. Furthermore, the argument order changes. The raw system call "
+"interface on x86 and many other architectures is roughly:"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:785
+#: build/C/man2/clone.2:811
#, no-wrap
msgid ""
"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:798
+#: build/C/man2/clone.2:822
+msgid ""
+"Another difference for the raw system call is that the I<child_stack> "
+"argument may be zero, in which case copy-on-write semantics ensure that the "
+"child gets separate copies of stack pages when either process modifies the "
+"stack. In this case, for correct operation, the B<CLONE_VM> option should "
+"not be specified."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:830
+msgid ""
+"For some architectures, the order of the arguments for the system call "
+"differs from that shown above. On the score, microblaze, ARM, ARM 64, "
+"PA-RISC, arc, Power PC, xtensa, and MIPS architectures, the order of the "
+"fourth and fifth arguments is reversed. On the cris and s390 architectures, "
+"the order of the first and second arguments is reversed."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/clone.2:830
+#, no-wrap
+msgid "blackfin, m68k, and sparc"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:834
+msgid ""
+"The argument-passing conventions on blackfin, m68k, and sparc are different "
+"from descriptions above. For details, see the kernel (and glibc) source."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/clone.2:834
+#, no-wrap
+msgid "ia64"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:836
+msgid "On ia64, a different interface is used:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:843
+#, no-wrap
+msgid ""
+"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
+"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
+"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
+"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t "
+"*>I<ctid>B< */ );>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:855
+msgid ""
+"The prototype shown above is for the glibc wrapper function; the raw system "
+"call interface has no I<fn> or I<arg> argument, and changes the order of the "
+"arguments so that I<flags> is the first argument, and I<tls> is the last "
+"argument."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/clone.2:866
msgid ""
-"Another difference for B<sys_clone> is that the I<child_stack> argument may "
-"be zero, in which case copy-on-write semantics ensure that the child gets "
-"separate copies of stack pages when either process modifies the stack. In "
-"this case, for correct operation, the B<CLONE_VM> option should not be "
-"specified."
+"B<__clone2>() operates in the same way as B<clone>(), except that "
+"I<child_stack_base> points to the lowest address of the child's stack area, "
+"and I<stack_size> specifies the size of the stack pointed to by "
+"I<child_stack_base>."
msgstr ""
#. type: SS
-#: build/C/man2/clone.2:798
+#: build/C/man2/clone.2:866
#, no-wrap
msgid "Linux 2.4 and earlier"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:806
+#: build/C/man2/clone.2:874
msgid ""
"In Linux 2.4 and earlier, B<clone>() does not take arguments I<ptid>, "
"I<tls>, and I<ctid>."
#. gettid(2) returns current->pid;
#. getpid(2) returns current->tgid;
#. type: Plain text
-#: build/C/man2/clone.2:815
+#: build/C/man2/clone.2:883
msgid ""
"On success, the thread ID of the child process is returned in the caller's "
"thread of execution. On failure, -1 is returned in the caller's context, no "
msgstr ""
#. type: SH
-#: build/C/man2/clone.2:815 build/C/man2/kcmp.2:167 build/C/man2/sched_get_priority_max.2:96 build/C/man3/sched_getcpu.3:47 build/C/man2/sched_rr_get_interval.2:80 build/C/man2/sched_setaffinity.2:116 build/C/man2/sched_setparam.2:96 build/C/man2/sched_setscheduler.2:432 build/C/man2/sched_yield.2:48 build/C/man2/setns.2:77 build/C/man2/unshare.2:194
+#: build/C/man2/clone.2:883 build/C/man2/kcmp.2:167 build/C/man2/sched_get_priority_max.2:96 build/C/man3/sched_getcpu.3:65 build/C/man2/sched_rr_get_interval.2:80 build/C/man2/sched_setaffinity.2:116 build/C/man2/sched_setparam.2:96 build/C/man2/sched_setscheduler.2:432 build/C/man2/sched_yield.2:48 build/C/man2/setns.2:77 build/C/man2/unshare.2:212
#, no-wrap
msgid "ERRORS"
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:816
+#: build/C/man2/clone.2:884
#, no-wrap
msgid "B<EAGAIN>"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:819
+#: build/C/man2/clone.2:887
msgid "Too many processes are already running."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:819 build/C/man2/clone.2:826 build/C/man2/clone.2:841 build/C/man2/clone.2:849 build/C/man2/clone.2:857 build/C/man2/clone.2:865 build/C/man2/clone.2:871 build/C/man2/clone.2:881 build/C/man2/clone.2:889 build/C/man2/clone.2:897 build/C/man2/kcmp.2:178 build/C/man2/sched_get_priority_max.2:97 build/C/man2/sched_rr_get_interval.2:84 build/C/man2/sched_setaffinity.2:120 build/C/man2/sched_setaffinity.2:128 build/C/man2/sched_setparam.2:97 build/C/man2/sched_setscheduler.2:433 build/C/man2/setns.2:82 build/C/man2/unshare.2:195
+#: build/C/man2/clone.2:887 build/C/man2/clone.2:894 build/C/man2/clone.2:909 build/C/man2/clone.2:917 build/C/man2/clone.2:925 build/C/man2/clone.2:933 build/C/man2/clone.2:939 build/C/man2/clone.2:949 build/C/man2/clone.2:957 build/C/man2/clone.2:965 build/C/man2/kcmp.2:178 build/C/man2/sched_get_priority_max.2:97 build/C/man2/sched_rr_get_interval.2:84 build/C/man2/sched_setaffinity.2:120 build/C/man2/sched_setaffinity.2:128 build/C/man2/sched_setparam.2:97 build/C/man2/sched_setscheduler.2:433 build/C/man2/setns.2:82 build/C/man2/unshare.2:213
#, no-wrap
msgid "B<EINVAL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:826
+#: build/C/man2/clone.2:894
msgid ""
"B<CLONE_SIGHAND> was specified, but B<CLONE_VM> was not. (Since Linux "
"2.6.0-test6.)"
#. was specified.
#. (Since Linux 2.6.0-test6.)
#. type: Plain text
-#: build/C/man2/clone.2:841
+#: build/C/man2/clone.2:909
msgid ""
"B<CLONE_THREAD> was specified, but B<CLONE_SIGHAND> was not. (Since Linux "
"2.5.35.)"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:849
+#: build/C/man2/clone.2:917
msgid "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in I<flags>."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:857
+#: build/C/man2/clone.2:925
msgid "Both B<CLONE_NEWIPC> and B<CLONE_SYSVSEM> were specified in I<flags>."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:865
+#: build/C/man2/clone.2:933
msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:871
+#: build/C/man2/clone.2:939
msgid "Returned by B<clone>() when a zero value is specified for I<child_stack>."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:881
+#: build/C/man2/clone.2:949
msgid ""
"B<CLONE_NEWIPC> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:889
+#: build/C/man2/clone.2:957
msgid ""
"B<CLONE_NEWNET> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_NET_NS> option."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:897
+#: build/C/man2/clone.2:965
msgid ""
"B<CLONE_NEWPID> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_PID_NS> option."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:905
+#: build/C/man2/clone.2:973
msgid ""
"B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_UTS> option."
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:905 build/C/man2/setns.2:89 build/C/man2/unshare.2:199
+#: build/C/man2/clone.2:973 build/C/man2/setns.2:89 build/C/man2/unshare.2:217
#, no-wrap
msgid "B<ENOMEM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:910
+#: build/C/man2/clone.2:978
msgid ""
"Cannot allocate sufficient memory to allocate a task structure for the "
"child, or to copy those parts of the caller's context that need to be "
msgstr ""
#. type: TP
-#: build/C/man2/clone.2:910 build/C/man2/clone.2:919 build/C/man2/kcmp.2:182 build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setparam.2:101 build/C/man2/sched_setscheduler.2:438 build/C/man2/setns.2:92 build/C/man2/unshare.2:203
+#: build/C/man2/clone.2:978 build/C/man2/clone.2:987 build/C/man2/kcmp.2:182 build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setparam.2:101 build/C/man2/sched_setscheduler.2:438 build/C/man2/setns.2:92 build/C/man2/unshare.2:221
#, no-wrap
msgid "B<EPERM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:919
+#: build/C/man2/clone.2:987
msgid ""
"B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, or "
"B<CLONE_NEWUTS> was specified by an unprivileged process (process without "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:923
+#: build/C/man2/clone.2:991
msgid "B<CLONE_PID> was specified by a process other than process 0."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:930
+#: build/C/man2/clone.2:998
msgid ""
"There is no entry for B<clone>() in libc5. glibc2 provides B<clone>() as "
"described in this manual page."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:937
+#: build/C/man2/clone.2:1002
msgid ""
-"The B<clone>() and B<sys_clone> calls are Linux-specific and should not be "
-"used in programs intended to be portable."
+"B<clone>() is Linux-specific and should not be used in programs intended to "
+"be portable."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:947
+#: build/C/man2/clone.2:1012
msgid ""
"In the kernel 2.4.x series, B<CLONE_THREAD> generally does not make the "
"parent of the new thread the same as the parent of the calling process. "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:957
+#: build/C/man2/clone.2:1022
msgid ""
"For a while there was B<CLONE_DETACHED> (introduced in 2.5.32): parent wants "
"no child-exit signal. In 2.6.2 the need to give this together with "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:962
+#: build/C/man2/clone.2:1027
msgid ""
"On i386, B<clone>() should not be called through vsyscall, but directly "
"through I<int $0x80>."
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:964
-msgid "On ia64, a different system call is used:"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/clone.2:971
-#, no-wrap
-msgid ""
-"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
-"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
-"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t "
-"*>I<ctid>B< */ );>\n"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/clone.2:984
-msgid ""
-"The B<__clone2>() system call operates in the same way as B<clone>(), "
-"except that I<child_stack_base> points to the lowest address of the child's "
-"stack area, and I<stack_size> specifies the size of the stack pointed to by "
-"I<child_stack_base>."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/clone.2:1015
+#: build/C/man2/clone.2:1058
msgid ""
"Versions of the GNU C library that include the NPTL threading library "
"contain a wrapper function for B<getpid>(2) that performs caching of PIDs. "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1018
+#: build/C/man2/clone.2:1061
#, no-wrap
msgid " #include E<lt>syscall.hE<gt>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1020
+#: build/C/man2/clone.2:1063
#, no-wrap
msgid " pid_t mypid;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1022
+#: build/C/man2/clone.2:1065
#, no-wrap
msgid " mypid = syscall(SYS_getpid);\n"
msgstr ""
#. type: SS
-#: build/C/man2/clone.2:1027
+#: build/C/man2/clone.2:1070
#, no-wrap
msgid "Create a child that executes in a separate UTS namespace"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1037
+#: build/C/man2/clone.2:1080
msgid ""
"The following program demonstrates the use of B<clone>() to create a child "
"process that executes in a separate UTS namespace. The child changes the "
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1047
+#: build/C/man2/clone.2:1090
#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1050 build/C/man2/setns.2:177
+#: build/C/man2/clone.2:1093 build/C/man2/setns.2:177
#, no-wrap
msgid ""
"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1055
+#: build/C/man2/clone.2:1098
#, no-wrap
msgid ""
"static int /* Start function for cloned child */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1057
+#: build/C/man2/clone.2:1100
#, no-wrap
msgid " /* Change hostname in UTS namespace of child */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1060
+#: build/C/man2/clone.2:1103
#, no-wrap
msgid ""
" if (sethostname(arg, strlen(arg)) == -1)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1062
+#: build/C/man2/clone.2:1105
#, no-wrap
msgid " /* Retrieve and display hostname */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1066
+#: build/C/man2/clone.2:1109
#, no-wrap
msgid ""
" if (uname(&uts) == -1)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1070
+#: build/C/man2/clone.2:1113
#, no-wrap
msgid ""
" /* Keep the namespace open for a while, by sleeping.\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1072
+#: build/C/man2/clone.2:1115
#, no-wrap
msgid " sleep(200);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1075
+#: build/C/man2/clone.2:1118
#, no-wrap
msgid ""
" return 0; /* Child terminates now */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1077
+#: build/C/man2/clone.2:1120
#, no-wrap
msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1085
+#: build/C/man2/clone.2:1128
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1090
+#: build/C/man2/clone.2:1133
#, no-wrap
msgid ""
" if (argc E<lt> 2) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1092
+#: build/C/man2/clone.2:1135
#, no-wrap
msgid " /* Allocate stack for child */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1097
+#: build/C/man2/clone.2:1140
#, no-wrap
msgid ""
" stack = malloc(STACK_SIZE);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1100
+#: build/C/man2/clone.2:1143
#, no-wrap
msgid ""
" /* Create child that has its own UTS namespace;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1105
+#: build/C/man2/clone.2:1148
#, no-wrap
msgid ""
" pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1107
+#: build/C/man2/clone.2:1150
#, no-wrap
msgid " /* Parent falls through to here */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1109
+#: build/C/man2/clone.2:1152
#, no-wrap
msgid " sleep(1); /* Give child time to change its hostname */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1112
+#: build/C/man2/clone.2:1155
#, no-wrap
msgid ""
" /* Display hostname in parent\\(aqs UTS namespace. This will be\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1116
+#: build/C/man2/clone.2:1159
#, no-wrap
msgid ""
" if (uname(&uts) == -1)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1120
+#: build/C/man2/clone.2:1163
#, no-wrap
msgid ""
" if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1123
+#: build/C/man2/clone.2:1166
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/clone.2:1138
+#: build/C/man2/clone.2:1181
msgid ""
"B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
"B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
msgstr ""
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:114 build/C/man2/sched_rr_get_interval.2:131 build/C/man2/sched_setparam.2:134 build/C/man2/sched_setscheduler.2:563 build/C/man2/sched_yield.2:84
+#: build/C/man2/sched_get_priority_max.2:114 build/C/man2/sched_rr_get_interval.2:138 build/C/man2/sched_setparam.2:134 build/C/man2/sched_setscheduler.2:563 build/C/man2/sched_yield.2:84
msgid ""
"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
"& Associates, Inc., ISBN 1-56592-074-0."
msgstr ""
#. type: TH
-#: build/C/man3/sched_getcpu.3:26
+#: build/C/man3/sched_getcpu.3:26 build/C/man2/unshare.2:20
#, no-wrap
-msgid "2010-10-31"
+msgid "2013-04-17"
msgstr ""
#. type: Plain text
msgid "sched_getcpu - determine CPU on which the calling thread is running"
msgstr ""
-#. Really:_BSD_SOURCE || _SVID_SOURCE
#. type: Plain text
#: build/C/man3/sched_getcpu.3:34
#, no-wrap
-msgid ""
-"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
-"B<#include E<lt>sched.hE<gt>>\n"
+msgid "B<int sched_getcpu(void);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:36
-#, no-wrap
-msgid "B<int sched_getcpu(void);>\n"
+#: build/C/man3/sched_getcpu.3:39 build/C/man2/unshare.2:33
+msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/sched_getcpu.3:42
+msgid "B<sched_getcpu>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:40
+#: build/C/man3/sched_getcpu.3:58
msgid ""
"B<sched_getcpu>() returns the number of the CPU on which the calling thread "
"is currently executing."
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:47
+#: build/C/man3/sched_getcpu.3:65
msgid ""
"On success, B<sched_getcpu>() returns a nonnegative CPU number. On error, "
"-1 is returned and I<errno> is set to indicate the error."
msgstr ""
#. type: TP
-#: build/C/man3/sched_getcpu.3:48 build/C/man2/sched_rr_get_interval.2:87
+#: build/C/man3/sched_getcpu.3:66 build/C/man2/sched_rr_get_interval.2:87
#, no-wrap
msgid "B<ENOSYS>"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:52
+#: build/C/man3/sched_getcpu.3:70
msgid "This kernel does not implement B<getcpu>(2)."
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:54
+#: build/C/man3/sched_getcpu.3:72
msgid "This function is available since glibc 2.6."
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:57
+#: build/C/man3/sched_getcpu.3:75
msgid "B<sched_getcpu>() is glibc specific."
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:59
+#: build/C/man3/sched_getcpu.3:77
msgid "The call"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:63
+#: build/C/man3/sched_getcpu.3:81
#, no-wrap
msgid "cpu = sched_getcpu();\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:69
+#: build/C/man3/sched_getcpu.3:87
msgid "is equivalent to the following B<getcpu>(2) call:"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:75
+#: build/C/man3/sched_getcpu.3:93
#, no-wrap
msgid ""
"int c, s;\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:79
+#: build/C/man3/sched_getcpu.3:97
msgid "B<getcpu>(2)"
msgstr ""
#. type: TH
#: build/C/man2/sched_rr_get_interval.2:29
#, no-wrap
-msgid "2011-10-16"
+msgid "2013-03-18"
msgstr ""
#. type: Plain text
msgstr ""
#. commit a4ec24b48ddef1e93f7578be53270f0b95ad666c
-#. .SH BUGS
-#. As of Linux 1.3.81
-#. .BR sched_rr_get_interval ()
-#. returns with error
-#. ENOSYS, because SCHED_RR has not yet been fully implemented and tested
-#. properly.
#. type: Plain text
-#: build/C/man2/sched_rr_get_interval.2:125
+#: build/C/man2/sched_rr_get_interval.2:117
msgid ""
"POSIX does not specify any mechanism for controlling the size of the "
"round-robin time quantum. Older Linux kernels provide a (nonportable) "
"high) nice value results in a longer quantum; assigning a positive (i.e., "
"low) nice value results in a shorter quantum. The default quantum is 0.1 "
"seconds; the degree to which changing the nice value affects the quantum has "
-"varied somewhat across kernel versions. Since Linux 2.6.24, the B<SCHED_RR> "
-"quantum cannot be modified."
+"varied somewhat across kernel versions. This method of adjusting the "
+"quantum was removed starting with Linux 2.6.24."
+msgstr ""
+
+#. commit ce0dbbbb30aee6a835511d5be446462388ba9eee
+#. .SH BUGS
+#. As of Linux 1.3.81
+#. .BR sched_rr_get_interval ()
+#. returns with error
+#. ENOSYS, because SCHED_RR has not yet been fully implemented and tested
+#. properly.
+#. type: Plain text
+#: build/C/man2/sched_rr_get_interval.2:132
+msgid ""
+"Linux 3.9 added a new mechanism for adjusting (and viewing) the B<SCHED_RR> "
+"quantum: the I</proc/sys/kernel/sched_rr_timeslice_ms> file exposes the "
+"quantum as a millisecond value, whose default is 100. Writing 0 to this "
+"file resets the quantum to the default value."
msgstr ""
#. type: Plain text
-#: build/C/man2/sched_rr_get_interval.2:128 build/C/man2/sched_setaffinity.2:177
+#: build/C/man2/sched_rr_get_interval.2:135 build/C/man2/sched_setaffinity.2:177
msgid "B<sched_setscheduler>(2) has a description of the Linux scheduling scheme."
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53
-#, no-wrap
-msgid "B<#include E<lt>sched.hE<gt>>\n"
-msgstr ""
-
-#. type: Plain text
#: build/C/man2/sched_setparam.2:38
#, no-wrap
msgid ""
"Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
"B<SCHED_RR>) have a I<sched_priority> value in the range 1 (low) to 99 "
"(high). (As the numbers imply, real-time processes always have higher "
-"priority than normal processes.) Note well: POSIX.1-2001 only requires an "
-"implementation to support a minimum 32 distinct priority levels for the "
+"priority than normal processes.) Note well: POSIX.1-2001 requires an "
+"implementation to support only a minimum 32 distinct priority levels for the "
"real-time policies, and some systems supply just this minimum. Portable "
"programs should use B<sched_get_priority_min>(2) and "
"B<sched_get_priority_max>(2) to find the range of priorities supported for "
"All scheduling is preemptive: if a process with a higher static priority "
"becomes ready to run, the currently running process will be preempted and "
"returned to the wait list for its static priority level. The scheduling "
-"policy only determines the ordering within the list of runnable processes "
+"policy determines the ordering only within the list of runnable processes "
"with equal static priority."
msgstr ""
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:163
msgid ""
-"B<SCHED_FIFO> can only be used with static priorities higher than 0, which "
+"B<SCHED_FIFO> can be used only with static priorities higher than 0, which "
"means that when a B<SCHED_FIFO> processes becomes runnable, it will always "
"immediately preempt any currently running B<SCHED_OTHER>, B<SCHED_BATCH>, or "
"B<SCHED_IDLE> process. B<SCHED_FIFO> is a simple scheduling algorithm "
msgid ""
"B<SCHED_RR> is a simple enhancement of B<SCHED_FIFO>. Everything described "
"above for B<SCHED_FIFO> also applies to B<SCHED_RR>, except that each "
-"process is only allowed to run for a maximum time quantum. If a B<SCHED_RR> "
+"process is allowed to run only for a maximum time quantum. If a B<SCHED_RR> "
"process has been running for a time period equal to or longer than the time "
"quantum, it will be put at the end of the list for its priority. A "
"B<SCHED_RR> process that has been preempted by a higher priority process and "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:233
msgid ""
-"B<SCHED_OTHER> can only be used at static priority 0. B<SCHED_OTHER> is the "
+"B<SCHED_OTHER> can be used at only static priority 0. B<SCHED_OTHER> is the "
"standard Linux time-sharing scheduler that is intended for all processes "
"that do not require the special real-time mechanisms. The process to run is "
"chosen from the static priority 0 list based on a I<dynamic> priority that "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:245
msgid ""
-"(Since Linux 2.6.16.) B<SCHED_BATCH> can only be used at static priority "
+"(Since Linux 2.6.16.) B<SCHED_BATCH> can be used only at static priority "
"0. This policy is similar to B<SCHED_OTHER> in that it schedules the "
"process according to its dynamic priority (based on the nice value). The "
"difference is that this policy will cause the scheduler to always assume "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:258
msgid ""
-"(Since Linux 2.6.23.) B<SCHED_IDLE> can only be used at static priority 0; "
+"(Since Linux 2.6.23.) B<SCHED_IDLE> can be used only at static priority 0; "
"the process nice value has no influence for this policy."
msgstr ""
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:307
msgid ""
-"After the B<SCHED_RESET_ON_FORK> flag has been enabled, it can only be reset "
+"After the B<SCHED_RESET_ON_FORK> flag has been enabled, it can be reset only "
"if the process has the B<CAP_SYS_NICE> capability. This flag is disabled in "
"child processes created by B<fork>(2)."
msgstr ""
"In Linux kernels before 2.6.12, only privileged (B<CAP_SYS_NICE>) processes "
"can set a nonzero static priority (i.e., set a real-time scheduling "
"policy). The only change that an unprivileged process can make is to set "
-"the B<SCHED_OTHER> policy, and this can only be done if the effective user "
+"the B<SCHED_OTHER> policy, and this can be done only if the effective user "
"ID of the caller of B<sched_setscheduler>() matches the real or effective "
"user ID of the target process (i.e., the process specified by I<pid>) whose "
"policy is being changed."
msgstr ""
#. type: Plain text
-#: build/C/man2/sched_setscheduler.2:567
-msgid ""
-"I<Documentation/scheduler/sched-rt-group.txt> in the Linux kernel source "
-"tree (since kernel 2.6.25)."
+#: build/C/man2/sched_setscheduler.2:566
+msgid "The Linux kernel source file I<Documentation/scheduler/sched-rt-group.txt>"
msgstr ""
#. type: TH
msgid "SETNS"
msgstr ""
+#. type: TH
+#: build/C/man2/setns.2:8
+#, no-wrap
+msgid "2013-01-01"
+msgstr ""
+
#. type: Plain text
#: build/C/man2/setns.2:11
msgid "setns - reassociate thread with a namespace"
msgid "UNSHARE"
msgstr ""
-#. type: TH
-#: build/C/man2/unshare.2:20
-#, no-wrap
-msgid "2012-12-31"
-msgstr ""
-
#. type: Plain text
#: build/C/man2/unshare.2:23
msgid "unshare - disassociate parts of the process execution context"
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:31
+#: build/C/man2/unshare.2:28
#, no-wrap
msgid "B<int unshare(int >I<flags>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:44
+#: build/C/man2/unshare.2:36
+msgid "B<unshare>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unshare.2:62
msgid ""
"B<unshare>() allows a process to disassociate parts of its execution "
"context that are currently being shared with other processes. Part of the "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:49
+#: build/C/man2/unshare.2:67
msgid ""
"The main use of B<unshare>() is to allow a process to control its shared "
"execution context without creating a new process."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:56
+#: build/C/man2/unshare.2:74
msgid ""
"The I<flags> argument is a bit mask that specifies which parts of the "
"execution context should be unshared. This argument is specified by ORing "
msgstr ""
#. type: TP
-#: build/C/man2/unshare.2:56
+#: build/C/man2/unshare.2:74
#, no-wrap
msgid "B<CLONE_FILES>"
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:64
+#: build/C/man2/unshare.2:82
msgid ""
"Reverse the effect of the B<clone>(2) B<CLONE_FILES> flag. Unshare the "
"file descriptor table, so that the calling process no longer shares its file "
msgstr ""
#. type: TP
-#: build/C/man2/unshare.2:64
+#: build/C/man2/unshare.2:82
#, no-wrap
msgid "B<CLONE_FS>"
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:78
+#: build/C/man2/unshare.2:96
msgid ""
"Reverse the effect of the B<clone>(2) B<CLONE_FS> flag. Unshare file "
"system attributes, so that the calling process no longer shares its root "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:95
+#: build/C/man2/unshare.2:113
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWIPC> flag. "
"Unshare the System V IPC namespace, so that the calling process has a "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:110
+#: build/C/man2/unshare.2:128
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNET> flag. "
"Unshare the network namespace, so that the calling process is moved into a "
msgstr ""
#. type: TP
-#: build/C/man2/unshare.2:110
+#: build/C/man2/unshare.2:128
#, no-wrap
msgid "B<CLONE_NEWNS>"
msgstr ""
#. CLONE_FS, and CLONE_FILES reverse the action of the clone()
#. flags of the same name.
#. type: Plain text
-#: build/C/man2/unshare.2:131
+#: build/C/man2/unshare.2:149
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNS> flag. "
"Unshare the mount namespace, so that the calling process has a private copy "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:145
+#: build/C/man2/unshare.2:163
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWUTS> flag. "
"Unshare the UTS IPC namespace, so that the calling process has a private "
msgstr ""
#. type: TP
-#: build/C/man2/unshare.2:145
+#: build/C/man2/unshare.2:163
#, no-wrap
msgid "B<CLONE_SYSVSEM> (since Linux 2.6.26)"
msgstr ""
#. Unshare virtual memory, so that the calling process no
#. longer shares its virtual address space with any other process.
#. type: Plain text
-#: build/C/man2/unshare.2:182
+#: build/C/man2/unshare.2:200
msgid ""
"This flag reverses the effect of the B<clone>(2) B<CLONE_SYSVSEM> flag. "
"Unshare System V semaphore undo values, so that the calling process has a "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:189
+#: build/C/man2/unshare.2:207
msgid ""
"If I<flags> is specified as zero, then B<unshare>() is a no-op; no changes "
"are made to the calling process's execution context."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:194
+#: build/C/man2/unshare.2:212
msgid ""
"On success, zero returned. On failure, -1 is returned and I<errno> is set "
"to indicate the error."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:199
+#: build/C/man2/unshare.2:217
msgid "An invalid bit was specified in I<flags>."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:203
+#: build/C/man2/unshare.2:221
msgid ""
"Cannot allocate sufficient memory to copy parts of caller's context that "
"need to be unshared."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:206
+#: build/C/man2/unshare.2:224
msgid "The calling process did not have the required privileges for this operation."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:210
+#: build/C/man2/unshare.2:228
msgid "The B<unshare>() system call was added to Linux in kernel 2.6.16."
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:214
+#: build/C/man2/unshare.2:232
msgid "The B<unshare>() system call is Linux-specific."
msgstr ""
#. be incrementally added to unshare without affecting legacy
#. applications using unshare.
#. type: Plain text
-#: build/C/man2/unshare.2:248
+#: build/C/man2/unshare.2:266
msgid ""
"Not all of the process attributes that can be shared when a new process is "
"created using B<clone>(2) can be unshared using B<unshare>(). In "
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:254
+#: build/C/man2/unshare.2:272
msgid "B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), B<vfork>(2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/unshare.2:257
+#: build/C/man2/unshare.2:275
msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
msgstr ""