X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=po4a%2Fsched%2Fpo%2Fsched.pot;h=32994bcee580c9b9768e1fb160810a05daff9e5b;hb=8a7f723a0530d2fb90ab139c03452e84d1e19905;hp=e78f3aa78f67bcca3963d6b76af519cda5219755;hpb=79b413fc39f0626883f408a23520842321a86603;p=linuxjm%2FLDP_man-pages.git diff --git a/po4a/sched/po/sched.pot b/po4a/sched/po/sched.pot index e78f3aa7..32994bce 100644 --- a/po4a/sched/po/sched.pot +++ b/po4a/sched/po/sched.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2012-04-25 05:59+0900\n" +"POT-Creation-Date: 2013-03-22 01:06+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,37 +17,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. type: TH -#: build/C/man3/CPU_SET.3:25 +#: build/C/man3/CPU_SET.3:27 #, no-wrap msgid "CPU_SET" msgstr "" #. type: TH -#: build/C/man3/CPU_SET.3:25 +#: build/C/man3/CPU_SET.3:27 #, no-wrap msgid "2012-03-15" msgstr "" #. type: TH -#: build/C/man3/CPU_SET.3:25 build/C/man2/clone.2:43 build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:24 build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 build/C/man2/sched_yield.2:30 build/C/man2/setns.2:4 build/C/man2/unshare.2:17 +#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 build/C/man2/unshare.2:20 #, no-wrap msgid "Linux" msgstr "" #. type: TH -#: build/C/man3/CPU_SET.3:25 build/C/man2/clone.2:43 build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:24 build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 build/C/man2/sched_yield.2:30 build/C/man2/setns.2:4 build/C/man2/unshare.2:17 build/C/man3/get_nprocs_conf.3:24 +#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 build/C/man2/unshare.2:20 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:26 build/C/man2/clone.2:44 build/C/man2/sched_get_priority_max.2:31 build/C/man3/sched_getcpu.3:25 build/C/man2/sched_rr_get_interval.2:31 build/C/man2/sched_setaffinity.2:36 build/C/man2/sched_setparam.2:32 build/C/man2/sched_setscheduler.2:48 build/C/man2/sched_yield.2:31 build/C/man2/setns.2:5 build/C/man2/unshare.2:18 build/C/man3/get_nprocs_conf.3:25 +#: build/C/man3/CPU_SET.3:28 build/C/man2/clone.2:46 build/C/man2/kcmp.2:29 build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:27 build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 build/C/man2/sched_yield.2:30 build/C/man2/setns.2:9 build/C/man2/unshare.2:21 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:33 +#: build/C/man3/CPU_SET.3:35 msgid "" "CPU_SET, CPU_CLR, CPU_ISSET, CPU_ZERO, CPU_COUNT, CPU_AND, CPU_OR, CPU_XOR, " "CPU_EQUAL, CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE, CPU_SET_S, CPU_CLR_S, " @@ -56,7 +56,7 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:33 build/C/man2/clone.2:46 build/C/man2/sched_get_priority_max.2:33 build/C/man3/sched_getcpu.3:27 build/C/man2/sched_rr_get_interval.2:33 build/C/man2/sched_setaffinity.2:39 build/C/man2/sched_setparam.2:34 build/C/man2/sched_setscheduler.2:51 build/C/man2/sched_yield.2:33 build/C/man2/setns.2:7 build/C/man2/unshare.2:20 build/C/man3/get_nprocs_conf.3:27 +#: build/C/man3/CPU_SET.3:35 build/C/man2/clone.2:48 build/C/man2/kcmp.2:31 build/C/man2/sched_get_priority_max.2:32 build/C/man3/sched_getcpu.3:29 build/C/man2/sched_rr_get_interval.2:32 build/C/man2/sched_setaffinity.2:38 build/C/man2/sched_setparam.2:33 build/C/man2/sched_setscheduler.2:50 build/C/man2/sched_yield.2:32 build/C/man2/setns.2:11 build/C/man2/unshare.2:23 #, no-wrap msgid "SYNOPSIS" msgstr "" @@ -64,7 +64,7 @@ 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:37 build/C/man2/clone.2:52 build/C/man2/sched_setaffinity.2:43 build/C/man2/setns.2:11 build/C/man2/unshare.2:26 +#: 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 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" @@ -72,13 +72,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:39 +#: build/C/man3/CPU_SET.3:41 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:43 +#: build/C/man3/CPU_SET.3:45 #, no-wrap msgid "" "BIB<, cpu_set_t *>IB<);>\n" @@ -87,13 +87,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:45 +#: build/C/man3/CPU_SET.3:47 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:52 +#: build/C/man3/CPU_SET.3:54 #, no-wrap msgid "" "BIB<,>\n" @@ -105,13 +105,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:54 +#: build/C/man3/CPU_SET.3:56 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:58 +#: build/C/man3/CPU_SET.3:60 #, no-wrap msgid "" "BIB<);>\n" @@ -120,13 +120,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:60 +#: build/C/man3/CPU_SET.3:62 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:64 +#: build/C/man3/CPU_SET.3:66 #, no-wrap msgid "" "BIB<, size_t >IB<, cpu_set_t " @@ -138,13 +138,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:66 +#: build/C/man3/CPU_SET.3:68 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:73 +#: build/C/man3/CPU_SET.3:75 #, no-wrap msgid "" "BIB<, cpu_set_t *>IB<,>\n" @@ -156,7 +156,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:76 +#: build/C/man3/CPU_SET.3:78 #, no-wrap msgid "" "BIB<, cpu_set_t *>IB<, cpu_set_t " @@ -164,20 +164,20 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:77 build/C/man2/clone.2:58 build/C/man2/sched_get_priority_max.2:39 build/C/man3/sched_getcpu.3:35 build/C/man2/sched_rr_get_interval.2:37 build/C/man2/sched_setaffinity.2:50 build/C/man2/sched_setparam.2:48 build/C/man2/sched_setscheduler.2:67 build/C/man2/sched_yield.2:37 build/C/man2/setns.2:14 build/C/man2/unshare.2:29 build/C/man3/get_nprocs_conf.3:33 +#: 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 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:84 +#: build/C/man3/CPU_SET.3:86 msgid "" "The I data structure represents a set of CPUs. CPU sets are used " "by B(2) and similar interfaces." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:91 +#: build/C/man3/CPU_SET.3:93 msgid "" "The I data type is implemented as a bitset. However, the data " "structure treated as considered opaque: all manipulation of CPU sets should " @@ -185,74 +185,74 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:94 +#: build/C/man3/CPU_SET.3:96 msgid "The following macros are provided to operate on the CPU set I:" msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:94 +#: build/C/man3/CPU_SET.3:96 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:99 +#: build/C/man3/CPU_SET.3:101 msgid "Clears I, so that it contains no CPUs." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:99 +#: build/C/man3/CPU_SET.3:101 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:105 +#: build/C/man3/CPU_SET.3:107 msgid "Add CPU I to I." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:105 +#: build/C/man3/CPU_SET.3:107 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:111 +#: build/C/man3/CPU_SET.3:113 msgid "Remove CPU I from I." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:111 +#: build/C/man3/CPU_SET.3:113 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:117 +#: build/C/man3/CPU_SET.3:119 msgid "Test to see if CPU I is a member of I." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:117 +#: build/C/man3/CPU_SET.3:119 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:121 +#: build/C/man3/CPU_SET.3:123 msgid "Return the number of CPUs in I." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:126 +#: build/C/man3/CPU_SET.3:128 msgid "" "Where a I argument is specified, it should not produce side effects, " "since the above macros may evaluate the argument more than once." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:137 +#: build/C/man3/CPU_SET.3:139 msgid "" "The first available CPU on the system corresponds to a I value of 0, " "the next CPU corresponds to a I value of 1, and so on. The constant " @@ -261,44 +261,44 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:139 +#: build/C/man3/CPU_SET.3:141 msgid "The following macros perform logical operations on CPU sets:" msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:139 +#: build/C/man3/CPU_SET.3:141 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:148 +#: build/C/man3/CPU_SET.3:150 msgid "" "Store the intersection of the sets I and I in I " "(which may be one of the source sets)." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:148 +#: build/C/man3/CPU_SET.3:150 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:157 +#: build/C/man3/CPU_SET.3:159 msgid "" "Store the union of the sets I and I in I (which " "may be one of the source sets)." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:157 +#: build/C/man3/CPU_SET.3:159 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:171 +#: build/C/man3/CPU_SET.3:173 msgid "" "Store the XOR of the sets I and I in I (which may " "be one of the source sets). The XOR means the set of CPUs that are in " @@ -306,24 +306,24 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:171 +#: build/C/man3/CPU_SET.3:173 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:174 +#: build/C/man3/CPU_SET.3:176 msgid "Test whether two CPU set contain exactly the same CPUs." msgstr "" #. type: SS -#: build/C/man3/CPU_SET.3:174 +#: build/C/man3/CPU_SET.3:176 #, no-wrap msgid "Dynamically sized CPU sets" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:180 +#: build/C/man3/CPU_SET.3:182 msgid "" "Because some applications may require the ability to dynamically size CPU " "sets (e.g., to allocate sets larger than that defined by the standard " @@ -332,31 +332,31 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:182 +#: build/C/man3/CPU_SET.3:184 msgid "The following macros are used to allocate and deallocate CPU sets:" msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:182 +#: build/C/man3/CPU_SET.3:184 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:187 +#: build/C/man3/CPU_SET.3:189 msgid "" "Allocate a CPU set large enough to hold CPUs in the range 0 to " "I." msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:187 +#: build/C/man3/CPU_SET.3:189 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:197 +#: build/C/man3/CPU_SET.3:199 msgid "" "Return the size in bytes of the CPU set that would be needed to hold CPUs in " "the range 0 to I. This macro provides the value that can be " @@ -365,18 +365,18 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:197 +#: build/C/man3/CPU_SET.3:199 #, no-wrap msgid "B()" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:201 +#: build/C/man3/CPU_SET.3:203 msgid "Free a CPU set previously allocated by B()." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:208 +#: build/C/man3/CPU_SET.3:210 msgid "" "The macros whose names end with \"_S\" are the analogs of the similarly " "named macros without the suffix. These macros perform the same tasks as " @@ -385,69 +385,69 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:208 build/C/man2/clone.2:792 build/C/man2/sched_get_priority_max.2:87 build/C/man3/sched_getcpu.3:38 build/C/man2/sched_rr_get_interval.2:74 build/C/man2/sched_setaffinity.2:108 build/C/man2/sched_setparam.2:88 build/C/man2/sched_setscheduler.2:423 build/C/man2/sched_yield.2:42 build/C/man2/setns.2:66 build/C/man2/unshare.2:183 build/C/man3/get_nprocs_conf.3:44 +#: 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 #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:217 +#: build/C/man3/CPU_SET.3:219 msgid "" "B() and B() return nonzero if I is in I; " "otherwise, it returns 0." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:223 +#: build/C/man3/CPU_SET.3:225 msgid "B() and B() return the number of CPUs in I." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:228 +#: build/C/man3/CPU_SET.3:230 msgid "" "B() and B() return nonzero if the two CPU sets are " "equal; otherwise it returns 0." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:233 +#: build/C/man3/CPU_SET.3:235 msgid "" "B() returns a pointer on success, or NULL on failure. (Errors " "are as for B(3).)" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:237 +#: build/C/man3/CPU_SET.3:239 msgid "" "B() returns the number of bytes required to store a CPU set " "of the specified cardinality." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:239 +#: build/C/man3/CPU_SET.3:241 msgid "The other functions do not return a value." msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:239 build/C/man2/clone.2:909 build/C/man3/sched_getcpu.3:50 build/C/man2/sched_setaffinity.2:149 build/C/man2/setns.2:93 build/C/man2/unshare.2:200 +#: 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 #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:247 +#: build/C/man3/CPU_SET.3:249 msgid "" "The B(), B(), B(), and B() macros " "were added in glibc 2.3.3." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:250 +#: build/C/man3/CPU_SET.3:252 msgid "B() first appeared in glibc 2.6." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:268 +#: build/C/man3/CPU_SET.3:270 msgid "" "B(), B(), B(), B(), B(), " "B(), B(), B(), B(), " @@ -456,29 +456,29 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:268 build/C/man2/clone.2:916 build/C/man2/sched_get_priority_max.2:101 build/C/man3/sched_getcpu.3:52 build/C/man2/sched_rr_get_interval.2:95 build/C/man2/sched_setaffinity.2:160 build/C/man2/sched_setparam.2:111 build/C/man2/sched_setscheduler.2:445 build/C/man2/sched_yield.2:53 build/C/man2/setns.2:97 build/C/man2/unshare.2:204 build/C/man3/get_nprocs_conf.3:46 +#: 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 #, no-wrap msgid "CONFORMING TO" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:270 +#: build/C/man3/CPU_SET.3:272 msgid "These interfaces are Linux-specific." msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:923 build/C/man3/sched_getcpu.3:55 build/C/man2/sched_rr_get_interval.2:97 build/C/man2/sched_setaffinity.2:162 build/C/man2/sched_setscheduler.2:448 build/C/man2/sched_yield.2:55 build/C/man2/setns.2:101 build/C/man2/unshare.2:208 build/C/man3/get_nprocs_conf.3:48 +#: 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 #, no-wrap msgid "NOTES" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:273 +#: build/C/man3/CPU_SET.3:275 msgid "To duplicate a CPU set, use B(3)." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:280 +#: build/C/man3/CPU_SET.3:282 msgid "" "Since CPU sets are bitsets allocated in units of long words, the actual " "number of CPUs in a dynamically allocated CPU set will be rounded up to the " @@ -487,7 +487,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:292 +#: build/C/man3/CPU_SET.3:294 msgid "" "Notwithstanding the similarity in the names, note that the constant " "B indicates the number of CPUs in the I data type " @@ -496,7 +496,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:298 +#: build/C/man3/CPU_SET.3:300 msgid "" "The data types for arguments and return values shown in the SYNOPSIS are " "hints what about is expected in each case. However, since these interfaces " @@ -505,14 +505,14 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:298 build/C/man2/clone.2:970 build/C/man2/sched_setscheduler.2:509 build/C/man2/setns.2:107 +#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:984 build/C/man2/sched_setscheduler.2:530 #, no-wrap msgid "BUGS" msgstr "" #. http://sourceware.org/bugzilla/show_bug.cgi?id=7029 #. type: Plain text -#: build/C/man3/CPU_SET.3:310 +#: build/C/man3/CPU_SET.3:312 msgid "" "On 32-bit platforms with glibc 2.8 and earlier, B() allocates " "twice as much space as is required, and B() returns a value " @@ -523,20 +523,20 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:310 build/C/man3/get_nprocs_conf.3:65 +#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1026 build/C/man2/setns.2:112 #, no-wrap msgid "EXAMPLE" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:313 +#: build/C/man3/CPU_SET.3:315 msgid "" "The following program demonstrates the use of some of the macros used for " "dynamically allocated CPU sets." msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:321 +#: build/C/man3/CPU_SET.3:323 #, no-wrap msgid "" "#define _GNU_SOURCE\n" @@ -548,7 +548,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:328 +#: build/C/man3/CPU_SET.3:330 #, no-wrap msgid "" "int\n" @@ -560,7 +560,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:333 +#: build/C/man3/CPU_SET.3:335 #, no-wrap msgid "" " if (argc E 2) {\n" @@ -570,13 +570,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:335 +#: build/C/man3/CPU_SET.3:337 #, no-wrap msgid " num_cpus = atoi(argv[1]);\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:341 +#: build/C/man3/CPU_SET.3:343 #, no-wrap msgid "" " cpusetp = CPU_ALLOC(num_cpus);\n" @@ -587,13 +587,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:343 +#: build/C/man3/CPU_SET.3:345 #, no-wrap msgid " size = CPU_ALLOC_SIZE(num_cpus);\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:347 +#: build/C/man3/CPU_SET.3:349 #, no-wrap msgid "" " CPU_ZERO_S(size, cpusetp);\n" @@ -602,13 +602,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:349 +#: build/C/man3/CPU_SET.3:351 #, no-wrap msgid " printf(\"CPU_COUNT() of set: %d\\en\", CPU_COUNT_S(size, cpusetp));\n" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:353 +#: build/C/man3/CPU_SET.3:355 #, no-wrap msgid "" " CPU_FREE(cpusetp);\n" @@ -617,37 +617,51 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/CPU_SET.3:354 build/C/man2/clone.2:1012 build/C/man2/sched_get_priority_max.2:103 build/C/man3/sched_getcpu.3:75 build/C/man2/sched_rr_get_interval.2:126 build/C/man2/sched_setaffinity.2:215 build/C/man2/sched_setparam.2:113 build/C/man2/sched_setscheduler.2:517 build/C/man2/sched_yield.2:79 build/C/man2/setns.2:115 build/C/man2/unshare.2:244 +#: 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 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:358 +#: build/C/man3/CPU_SET.3:361 msgid "" "B(2), B(3), " "B(3), B(7)" 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 +#, 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 +msgid "" +"This page is part of release 3.50 of the Linux I project. A " +"description of the project, and information about reporting bugs, can be " +"found at http://www.kernel.org/doc/man-pages/." +msgstr "" + #. type: TH -#: build/C/man2/clone.2:43 +#: build/C/man2/clone.2:45 #, no-wrap msgid "CLONE" msgstr "" #. type: TH -#: build/C/man2/clone.2:43 +#: build/C/man2/clone.2:45 build/C/man2/setns.2:8 #, no-wrap -msgid "2011-09-08" +msgid "2013-01-01" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:46 +#: build/C/man2/clone.2:48 msgid "clone, __clone2 - create a child process" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:57 +#: build/C/man2/clone.2:59 #, no-wrap msgid "" "BIB<)(void *), void *>IB<,>\n" @@ -657,7 +671,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:69 +#: build/C/man2/clone.2:71 msgid "" "B() creates a new process, in a manner similar to B(2). It is " "actually a library function layered on top of the underlying B() " @@ -666,7 +680,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:81 +#: build/C/man2/clone.2:83 msgid "" "Unlike B(2), these calls allow the child process to share parts of its " "execution context with the calling process, such as the memory space, the " @@ -676,25 +690,24 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:86 +#: build/C/man2/clone.2:88 msgid "" "The main use of B() 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:107 +#: build/C/man2/clone.2:108 msgid "" "When the child process is created with B(), it executes the function " -"application I(I). (This differs from B(2), where execution " -"continues in the child from the point of the B(2) call.) The I " -"argument is a pointer to a function that is called by the child process at " -"the beginning of its execution. The I argument is passed to the I " -"function." +"I(I). (This differs from B(2), where execution continues in " +"the child from the point of the B(2) call.) The I argument is a " +"pointer to a function that is called by the child process at the beginning " +"of its execution. The I argument is passed to the I function." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:117 +#: build/C/man2/clone.2:118 msgid "" "When the I(I) function application returns, the child process " "terminates. The integer returned by I is the exit code for the child " @@ -703,7 +716,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:133 +#: build/C/man2/clone.2:134 msgid "" "The I argument specifies the location of the stack used by the " "child process. Since the child and calling process may share memory, it is " @@ -716,7 +729,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:149 +#: build/C/man2/clone.2:150 msgid "" "The low byte of I contains the number of the I " "sent to the parent when the child dies. If this signal is specified as " @@ -727,7 +740,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:154 +#: build/C/man2/clone.2:155 msgid "" "I 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 " @@ -735,13 +748,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:154 +#: build/C/man2/clone.2:155 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:164 +#: build/C/man2/clone.2:165 msgid "" "Erase child thread ID at location I in child memory when the child " "exits, and do a wakeup on the futex at that address. The address involved " @@ -750,24 +763,24 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:164 +#: build/C/man2/clone.2:165 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:169 +#: build/C/man2/clone.2:170 msgid "Store child thread ID at location I in child memory." msgstr "" #. type: TP -#: build/C/man2/clone.2:169 build/C/man2/unshare.2:53 +#: build/C/man2/clone.2:170 #, no-wrap -msgid "B" +msgid "B (since Linux 2.0)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:182 +#: build/C/man2/clone.2:183 msgid "" "If B is set, the calling process and the child process share " "the same file descriptor table. Any file descriptor created by the calling " @@ -778,7 +791,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:196 +#: build/C/man2/clone.2:197 msgid "" "If B is not set, the child process inherits a copy of all file " "descriptors opened in the calling process at the time of B(). (The " @@ -790,13 +803,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:196 build/C/man2/unshare.2:61 +#: build/C/man2/clone.2:197 #, no-wrap -msgid "B" +msgid "B (since Linux 2.0)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:211 +#: build/C/man2/clone.2:212 msgid "" "If B is set, the caller and the child process share the same file " "system information. This includes the root of the file system, the current " @@ -806,7 +819,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:223 +#: build/C/man2/clone.2:224 msgid "" "If B 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() " @@ -815,13 +828,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:223 +#: build/C/man2/clone.2:224 #, no-wrap msgid "B (since Linux 2.6.25)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:232 +#: build/C/man2/clone.2:233 msgid "" "If B 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(2)) the " @@ -832,7 +845,7 @@ msgstr "" #. the anticipatory and CFQ scheduler #. with CFQ and AS. #. type: Plain text -#: build/C/man2/clone.2:249 +#: build/C/man2/clone.2:250 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 " @@ -845,20 +858,20 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:253 +#: build/C/man2/clone.2:254 msgid "" "If the kernel is not configured with the B option, this flag " "is a no-op." msgstr "" #. type: TP -#: build/C/man2/clone.2:253 build/C/man2/unshare.2:74 +#: build/C/man2/clone.2:254 build/C/man2/unshare.2:78 #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:263 +#: build/C/man2/clone.2:264 msgid "" "If B is set, then create the process in a new IPC namespace. " "If this flag is not set, then (as with B(2)), the process is created " @@ -866,26 +879,36 @@ msgid "" "the implementation of containers." msgstr "" +#. commit 7eafd7c74c3f2e67c27621b987b28397110d643f +#. https://lwn.net/Articles/312232/ +#. type: Plain text +#: build/C/man2/clone.2:276 +msgid "" +"An IPC namespace provides an isolated view of System V IPC objects (see " +"B(7)) and (since Linux 2.6.30) POSIX message queues (see " +"B(7)). The common characteristic of these IPC mechanisms is " +"that IPC objects are identified by mechanisms other than filesystem " +"pathnames." +msgstr "" + #. type: Plain text -#: build/C/man2/clone.2:274 +#: build/C/man2/clone.2:280 msgid "" -"An IPC namespace consists of the set of identifiers for System V IPC " -"objects. (These objects are created using B(2), B(2), and " -"B(2)). 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 namespaces." +"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 " +"namespaces." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:278 +#: build/C/man2/clone.2:284 msgid "" -"When an IPC namespace is destroyed (i.e, when the last process that is a " +"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 " "automatically destroyed." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:287 +#: build/C/man2/clone.2:293 msgid "" "Use of this flag requires: a kernel configured with the B " "and B options and that the process be privileged " @@ -894,21 +917,21 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:287 build/C/man2/unshare.2:91 +#: build/C/man2/clone.2:293 build/C/man2/unshare.2:95 #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "" #. FIXME Check when the implementation was completed #. type: Plain text -#: build/C/man2/clone.2:292 +#: build/C/man2/clone.2:298 msgid "" "(The implementation of this flag was only completed by about kernel version " "2.6.29.)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:301 +#: build/C/man2/clone.2:307 msgid "" "If B is set, then create the process in a new network " "namespace. If this flag is not set, then (as with B(2)), the process " @@ -916,8 +939,9 @@ msgid "" "is intended for the implementation of containers." msgstr "" +#. FIXME Add pointer to veth(4) page when it is eventually completed #. type: Plain text -#: build/C/man2/clone.2:315 +#: build/C/man2/clone.2:322 msgid "" "A network namespace provides an isolated view of the networking stack " "(network device interfaces, IPv4 and IPv6 protocol stacks, IP routing " @@ -930,7 +954,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:320 +#: build/C/man2/clone.2:327 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 " @@ -938,25 +962,25 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:325 +#: build/C/man2/clone.2:332 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B)." msgstr "" #. type: TP -#: build/C/man2/clone.2:325 +#: build/C/man2/clone.2:332 #, no-wrap msgid "B (since Linux 2.4.19)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:328 +#: build/C/man2/clone.2:335 msgid "Start the child in a new mount namespace." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:349 +#: build/C/man2/clone.2:356 msgid "" "Every process lives in a mount namespace. The I of a process is " "the data (the set of mounts) describing the file hierarchy as seen by that " @@ -968,7 +992,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:356 +#: build/C/man2/clone.2:363 msgid "" "After a B() where the B flag is set, the cloned child " "is started in a new mount namespace, initialized with a copy of the " @@ -976,7 +1000,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:368 +#: build/C/man2/clone.2:375 msgid "" "Only a privileged process (one having the B capability) may " "specify the B flag. It is not permitted to specify both " @@ -984,7 +1008,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:368 +#: build/C/man2/clone.2:375 #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "" @@ -997,7 +1021,7 @@ msgstr "" #. The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264 #. Author: Pavel Emelyanov #. type: Plain text -#: build/C/man2/clone.2:385 +#: build/C/man2/clone.2:392 msgid "" "If B is set, then create the process in a new PID namespace. " "If this flag is not set, then (as with B(2)), the process is created " @@ -1006,7 +1030,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:394 +#: build/C/man2/clone.2:401 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 " @@ -1015,7 +1039,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:406 +#: build/C/man2/clone.2:413 msgid "" "The first process created in a new namespace (i.e., the process created " "using the B flag) has the PID 1, and is the \"init\" process " @@ -1026,7 +1050,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:425 +#: build/C/man2/clone.2:432 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 " @@ -1043,7 +1067,7 @@ msgstr "" #. mount -t proc proc /proc #. type: Plain text -#: build/C/man2/clone.2:441 +#: build/C/man2/clone.2:448 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 so that tools " @@ -1053,7 +1077,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:448 +#: build/C/man2/clone.2:455 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B). This flag " @@ -1061,13 +1085,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:448 build/C/man2/unshare.2:140 +#: build/C/man2/clone.2:455 build/C/man2/unshare.2:131 #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:460 +#: build/C/man2/clone.2:467 msgid "" "If B is set, then create the process in a new UTS namespace, " "whose identifiers are initialized by duplicating the identifiers from the " @@ -1078,7 +1102,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:472 +#: build/C/man2/clone.2:479 msgid "" "A UTS namespace is the set of identifiers returned by B(2); among " "these, the domain name and the host name can be modified by " @@ -1088,34 +1112,34 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:477 +#: build/C/man2/clone.2:484 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B)." msgstr "" #. type: TP -#: build/C/man2/clone.2:477 +#: build/C/man2/clone.2:484 #, no-wrap msgid "B (since Linux 2.3.12)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:484 +#: build/C/man2/clone.2:491 msgid "" "If B is set, then the parent of the new child (as returned by " "B(2)) will be the same as that of the calling process." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:490 +#: build/C/man2/clone.2:497 msgid "" "If B is not set, then (as with B(2)) the child's parent " "is the calling process." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:498 +#: build/C/man2/clone.2:505 msgid "" "Note that it is the parent process, as returned by B(2), which is " "signaled when the child terminates, so that if B is set, then " @@ -1124,26 +1148,26 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:498 +#: build/C/man2/clone.2:505 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:506 +#: build/C/man2/clone.2:513 msgid "" "Store child thread ID at location I in parent and child memory. (In " "Linux 2.5.32-2.5.48 there was a flag B that did this.)" msgstr "" #. type: TP -#: build/C/man2/clone.2:506 +#: build/C/man2/clone.2:513 #, no-wrap msgid "B (obsolete)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:517 +#: build/C/man2/clone.2:524 msgid "" "If B is set, the child process is created with the same process " "ID as the calling process. This is good for hacking the system, but " @@ -1152,39 +1176,39 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:517 +#: build/C/man2/clone.2:524 #, no-wrap -msgid "B" +msgid "B (since Linux 2.2)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:524 +#: build/C/man2/clone.2:531 msgid "" "If B is specified, and the calling process is being traced, " "then trace the child also (see B(2))." msgstr "" #. type: TP -#: build/C/man2/clone.2:524 +#: build/C/man2/clone.2:531 #, no-wrap msgid "B (since Linux 2.5.32)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:538 msgid "" "The I argument is the new TLS (Thread Local Storage) descriptor. " "(See B(2).)" msgstr "" #. type: TP -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:538 #, no-wrap -msgid "B" +msgid "B (since Linux 2.0)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:547 +#: build/C/man2/clone.2:554 msgid "" "If B is set, the calling process and the child process share " "the same table of signal handlers. If the calling process or child process " @@ -1196,7 +1220,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:558 +#: build/C/man2/clone.2:565 msgid "" "If B is not set, the child process inherits a copy of the " "signal handlers of the calling process at the time B() is called. " @@ -1205,20 +1229,20 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:566 +#: build/C/man2/clone.2:573 msgid "" "Since Linux 2.6.0-test6, I must also include B if " "B is specified" msgstr "" #. type: TP -#: build/C/man2/clone.2:566 +#: build/C/man2/clone.2:573 #, no-wrap msgid "B (since Linux 2.6.0-test2)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:575 +#: build/C/man2/clone.2:582 msgid "" "If B is set, then the child is initially stopped (as though " "it was sent a B signal), and must be resumed by sending it a " @@ -1227,20 +1251,20 @@ msgstr "" #. glibc 2.8 removed this defn from bits/sched.h #. type: Plain text -#: build/C/man2/clone.2:583 +#: build/C/man2/clone.2:590 msgid "" "This flag was I from Linux 2.6.25 onward, and was I " "altogether in Linux 2.6.38." msgstr "" #. type: TP -#: build/C/man2/clone.2:583 +#: build/C/man2/clone.2:590 #, no-wrap msgid "B (since Linux 2.5.10)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:592 +#: build/C/man2/clone.2:599 msgid "" "If B is set, then the child and the calling process share a " "single list of System V semaphore undo values (see B(2)). If this " @@ -1249,13 +1273,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:592 +#: build/C/man2/clone.2:599 #, no-wrap msgid "B (since Linux 2.4.0-test8)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:601 +#: build/C/man2/clone.2:608 msgid "" "If B is set, the child is placed in the same thread group as " "the calling process. To make the remainder of the discussion of " @@ -1264,7 +1288,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:609 +#: build/C/man2/clone.2:616 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 " @@ -1273,7 +1297,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:618 +#: build/C/man2/clone.2:625 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 " @@ -1282,7 +1306,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:628 +#: build/C/man2/clone.2:635 msgid "" "When a call is made to B() without specifying B, then " "the resulting thread is placed in a new thread group whose TGID is the same " @@ -1290,7 +1314,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:650 +#: build/C/man2/clone.2:657 msgid "" "A new thread created with B has the same parent process as the " "caller of B() (i.e., like B), so that calls to " @@ -1302,14 +1326,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:655 +#: build/C/man2/clone.2:662 msgid "" "After all of the threads in a thread group terminate the parent process of " "the thread group is sent a B (or other termination) signal." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:660 +#: build/C/man2/clone.2:667 msgid "" "If any of the threads in a thread group performs an B(2), then all " "threads other than the thread group leader are terminated, and the new " @@ -1317,28 +1341,28 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:666 +#: build/C/man2/clone.2:673 msgid "" "If one of the threads in a thread group creates a child using B(2), " "then any thread in the group can B(2) for that child." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:674 +#: build/C/man2/clone.2:681 msgid "" "Since Linux 2.5.35, I must also include B if " "B is specified." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:679 +#: build/C/man2/clone.2:686 msgid "" "Signals may be sent to a thread group as a whole (i.e., a TGID) using " "B(2), or to a specific thread (i.e., TID) using B(2)." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:684 +#: build/C/man2/clone.2:691 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 " @@ -1346,7 +1370,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:697 +#: build/C/man2/clone.2:704 msgid "" "Each thread has its own signal mask, as set by B(2), but " "signals can be pending either: for the whole process (i.e., deliverable to " @@ -1357,7 +1381,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:709 +#: build/C/man2/clone.2:716 msgid "" "If B(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 " @@ -1368,26 +1392,26 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:709 +#: build/C/man2/clone.2:716 #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:716 +#: build/C/man2/clone.2:723 msgid "" "If B is specified, then a tracing process cannot force " "B on this child process." msgstr "" #. type: TP -#: build/C/man2/clone.2:716 +#: build/C/man2/clone.2:723 #, no-wrap -msgid "B" +msgid "B (since Linux 2.2)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:728 +#: build/C/man2/clone.2:735 msgid "" "If B is set, the execution of the calling process is suspended " "until the child releases its virtual memory resources via a call to " @@ -1395,7 +1419,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:734 +#: build/C/man2/clone.2:741 msgid "" "If B is not set then both the calling process and the child are " "schedulable after the call, and an application should not rely on execution " @@ -1403,13 +1427,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:734 +#: build/C/man2/clone.2:741 #, no-wrap -msgid "B" +msgid "B (since Linux 2.0)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:747 +#: build/C/man2/clone.2:754 msgid "" "If B is set, the calling process and the child process run in the " "same memory space. In particular, memory writes performed by the calling " @@ -1420,7 +1444,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:756 +#: build/C/man2/clone.2:763 msgid "" "If B is not set, the child process runs in a separate copy of the " "memory space of the calling process at the time of B(). Memory " @@ -1429,23 +1453,32 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/clone.2:756 +#: build/C/man2/clone.2:763 #, no-wrap msgid "sys_clone" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:773 +#: build/C/man2/clone.2:779 msgid "" "The B system call corresponds more closely to B(2) in that " -"execution in the child continues from the point of the call. Thus, " -"B only requires the I and I arguments, which " -"have the same meaning as for B(). (Note that the order of these " -"arguments differs from B().)" +"execution in the child continues from the point of the call. As such, the " +"I and I arguments of the B() wrapper function are omitted. " +"Furthermore, the argument order changes. The raw system call interface is " +"roughly:" +msgstr "" + +#. type: Plain text +#: build/C/man2/clone.2:785 +#, no-wrap +msgid "" +"BIB<, void *>IB<,>\n" +"B< void *>IB<, void *>IB<,>\n" +"B< struct pt_regs *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:784 +#: build/C/man2/clone.2:798 msgid "" "Another difference for B is that the I argument may " "be zero, in which case copy-on-write semantics ensure that the child gets " @@ -1454,8 +1487,14 @@ msgid "" "specified." msgstr "" +#. type: SS +#: build/C/man2/clone.2:798 +#, no-wrap +msgid "Linux 2.4 and earlier" +msgstr "" + #. type: Plain text -#: build/C/man2/clone.2:792 +#: build/C/man2/clone.2:806 msgid "" "In Linux 2.4 and earlier, B() does not take arguments I, " "I, and I." @@ -1464,7 +1503,7 @@ msgstr "" #. gettid(2) returns current->pid; #. getpid(2) returns current->tgid; #. type: Plain text -#: build/C/man2/clone.2:801 +#: build/C/man2/clone.2:815 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 " @@ -1472,30 +1511,30 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/clone.2:801 build/C/man2/sched_get_priority_max.2:97 build/C/man3/sched_getcpu.3:45 build/C/man2/sched_rr_get_interval.2:81 build/C/man2/sched_setaffinity.2:117 build/C/man2/sched_setparam.2:97 build/C/man2/sched_setscheduler.2:433 build/C/man2/sched_yield.2:49 build/C/man2/setns.2:73 build/C/man2/unshare.2:188 +#: 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 #, no-wrap msgid "ERRORS" msgstr "" #. type: TP -#: build/C/man2/clone.2:802 +#: build/C/man2/clone.2:816 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:805 +#: build/C/man2/clone.2:819 msgid "Too many processes are already running." msgstr "" #. type: TP -#: build/C/man2/clone.2:805 build/C/man2/clone.2:812 build/C/man2/clone.2:827 build/C/man2/clone.2:835 build/C/man2/clone.2:843 build/C/man2/clone.2:851 build/C/man2/clone.2:857 build/C/man2/clone.2:867 build/C/man2/clone.2:875 build/C/man2/clone.2:883 build/C/man2/sched_get_priority_max.2:98 build/C/man2/sched_rr_get_interval.2:85 build/C/man2/sched_setaffinity.2:121 build/C/man2/sched_setaffinity.2:129 build/C/man2/sched_setparam.2:98 build/C/man2/sched_setscheduler.2:434 build/C/man2/setns.2:78 build/C/man2/unshare.2:189 +#: 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 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:812 +#: build/C/man2/clone.2:826 msgid "" "B was specified, but B was not. (Since Linux " "2.6.0-test6.)" @@ -1510,68 +1549,68 @@ msgstr "" #. was specified. #. (Since Linux 2.6.0-test6.) #. type: Plain text -#: build/C/man2/clone.2:827 +#: build/C/man2/clone.2:841 msgid "" "B was specified, but B was not. (Since Linux " "2.5.35.)" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:835 +#: build/C/man2/clone.2:849 msgid "Both B and B were specified in I." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:843 +#: build/C/man2/clone.2:857 msgid "Both B and B were specified in I." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:851 +#: build/C/man2/clone.2:865 msgid "Both B and B were specified in I." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:857 +#: build/C/man2/clone.2:871 msgid "Returned by B() when a zero value is specified for I." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:867 +#: build/C/man2/clone.2:881 msgid "" "B was specified in I, but the kernel was not configured " "with the B and B options." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:875 +#: build/C/man2/clone.2:889 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:883 +#: build/C/man2/clone.2:897 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:891 +#: build/C/man2/clone.2:905 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." msgstr "" #. type: TP -#: build/C/man2/clone.2:891 build/C/man2/setns.2:85 build/C/man2/unshare.2:193 +#: build/C/man2/clone.2:905 build/C/man2/setns.2:89 build/C/man2/unshare.2:199 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:896 +#: build/C/man2/clone.2:910 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 " @@ -1579,13 +1618,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/clone.2:896 build/C/man2/clone.2:905 build/C/man2/sched_setaffinity.2:136 build/C/man2/sched_setparam.2:102 build/C/man2/sched_setscheduler.2:439 build/C/man2/setns.2:88 build/C/man2/unshare.2:197 +#: 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 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:905 +#: build/C/man2/clone.2:919 msgid "" "B, B, B, B, or " "B was specified by an unprivileged process (process without " @@ -1593,26 +1632,26 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:909 +#: build/C/man2/clone.2:923 msgid "B was specified by a process other than process 0." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:916 +#: build/C/man2/clone.2:930 msgid "" "There is no entry for B() in libc5. glibc2 provides B() as " "described in this manual page." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:923 +#: build/C/man2/clone.2:937 msgid "" "The B() and B calls are Linux-specific and should not be " "used in programs intended to be portable." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:933 +#: build/C/man2/clone.2:947 msgid "" "In the kernel 2.4.x series, B generally does not make the " "parent of the new thread the same as the parent of the calling process. " @@ -1621,7 +1660,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:943 +#: build/C/man2/clone.2:957 msgid "" "For a while there was B (introduced in 2.5.32): parent wants " "no child-exit signal. In 2.6.2 the need to give this together with " @@ -1629,19 +1668,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:948 +#: build/C/man2/clone.2:962 msgid "" "On i386, B() should not be called through vsyscall, but directly " "through I." msgstr "" #. type: Plain text -#: build/C/man2/clone.2:950 +#: build/C/man2/clone.2:964 msgid "On ia64, a different system call is used:" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:957 +#: build/C/man2/clone.2:971 #, no-wrap msgid "" "BIB<)(void *), >\n" @@ -1652,7 +1691,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:970 +#: build/C/man2/clone.2:984 msgid "" "The B<__clone2>() system call operates in the same way as B(), " "except that I points to the lowest address of the child's " @@ -1661,7 +1700,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:1001 +#: build/C/man2/clone.2:1015 msgid "" "Versions of the GNU C library that include the NPTL threading library " "contain a wrapper function for B(2) that performs caching of PIDs. " @@ -1680,350 +1719,858 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:1004 +#: build/C/man2/clone.2:1018 #, no-wrap msgid " #include Esyscall.hE\n" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:1006 +#: build/C/man2/clone.2:1020 #, no-wrap msgid " pid_t mypid;\n" msgstr "" #. type: Plain text -#: build/C/man2/clone.2:1008 +#: build/C/man2/clone.2:1022 #, no-wrap msgid " mypid = syscall(SYS_getpid);\n" msgstr "" +#. type: SS +#: build/C/man2/clone.2:1027 +#, no-wrap +msgid "Create a child that executes in a separate UTS namespace" +msgstr "" + #. type: Plain text -#: build/C/man2/clone.2:1023 +#: build/C/man2/clone.2:1037 msgid "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), B(2), " -"B(7), B(7)" +"The following program demonstrates the use of B() to create a child " +"process that executes in a separate UTS namespace. The child changes the " +"hostname in its UTS namespace. Both parent and child then display the " +"system hostname, making it possible to see that the hostname differs in the " +"UTS namespaces of the parent and child. For an example of the use of this " +"program, see B(2)." msgstr "" -#. type: TH -#: build/C/man2/sched_get_priority_max.2:30 +#. type: Plain text +#: build/C/man2/clone.2:1047 #, no-wrap -msgid "SCHED_GET_PRIORITY_MAX" +msgid "" +"#define _GNU_SOURCE\n" +"#include Esys/wait.hE\n" +"#include Esys/utsname.hE\n" +"#include Esched.hE\n" +"#include Estring.hE\n" +"#include Estdio.hE\n" +"#include Estdlib.hE\n" +"#include Eunistd.hE\n" msgstr "" -#. type: TH -#: build/C/man2/sched_get_priority_max.2:30 build/C/man2/sched_setparam.2:31 +#. type: Plain text +#: build/C/man2/clone.2:1050 build/C/man2/setns.2:177 #, no-wrap -msgid "2006-03-23" +msgid "" +"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" +" } while (0)\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:33 -msgid "sched_get_priority_max, sched_get_priority_min - get static priority range" +#: build/C/man2/clone.2:1055 +#, no-wrap +msgid "" +"static int /* Start function for cloned child */\n" +"childFunc(void *arg)\n" +"{\n" +" struct utsname uts;\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:35 build/C/man2/sched_rr_get_interval.2:35 build/C/man2/sched_yield.2:35 -msgid "B<#include Esched.hE>" +#: build/C/man2/clone.2:1057 +#, no-wrap +msgid " /* Change hostname in UTS namespace of child */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:37 -msgid "BIB<);>" +#: build/C/man2/clone.2:1060 +#, no-wrap +msgid "" +" if (sethostname(arg, strlen(arg)) == -1)\n" +" errExit(\"sethostname\");\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:39 -msgid "BIB<);>" +#: build/C/man2/clone.2:1062 +#, no-wrap +msgid " /* Retrieve and display hostname */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:55 +#: build/C/man2/clone.2:1066 +#, no-wrap msgid "" -"B() returns the maximum priority value that can be " -"used with the scheduling algorithm identified by I. " -"B() returns the minimum priority value that can be " -"used with the scheduling algorithm identified by I. Supported " -"I values are B, B, B, and " -"B. Further details about these policies can be found in " -"B(2)." +" if (uname(&uts) == -1)\n" +" errExit(\"uname\");\n" +" printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:64 +#: build/C/man2/clone.2:1070 +#, no-wrap msgid "" -"Processes with numerically higher priority values are scheduled before " -"processes with numerically lower priority values. Thus, the value returned " -"by B() will be greater than the value returned by " -"B()." +" /* Keep the namespace open for a while, by sleeping.\n" +" This allows some experimentation--for example, another\n" +" process might join the namespace. */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:70 -msgid "" -"Linux allows the static priority value range 1 to 99 for B and " -"B and the priority 0 for B and B. " -"Scheduling priority ranges for the various policies are not alterable." +#: build/C/man2/clone.2:1072 +#, no-wrap +msgid " sleep(200);\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:79 +#: build/C/man2/clone.2:1075 +#, no-wrap msgid "" -"The range of scheduling priorities may vary on other POSIX systems, thus it " -"is a good idea for portable applications to use a virtual priority range and " -"map it to the interval given by B() and " -"B(). POSIX.1-2001 requires a spread of at least 32 " -"between the maximum and the minimum values for B and " -"B." +" return 0; /* Child terminates now */\n" +"}\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:87 -msgid "" -"POSIX systems on which B() and " -"B() are available define " -"B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." +#: build/C/man2/clone.2:1077 +#, no-wrap +msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:97 +#: build/C/man2/clone.2:1085 +#, no-wrap msgid "" -"On success, B() and B() " -"return the maximum/minimum priority value for the named scheduling policy. " -"On error, -1 is returned, and I is set appropriately." +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char *stack; /* Start of stack buffer */\n" +" char *stackTop; /* End of stack buffer */\n" +" pid_t pid;\n" +" struct utsname uts;\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:101 -msgid "The argument I does not identify a defined scheduling policy." +#: build/C/man2/clone.2:1090 +#, no-wrap +msgid "" +" if (argc E 2) {\n" +" fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", " +"argv[0]);\n" +" exit(EXIT_SUCCESS);\n" +" }\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:103 build/C/man2/sched_rr_get_interval.2:97 build/C/man2/sched_setparam.2:113 build/C/man2/sched_yield.2:55 -msgid "POSIX.1-2001." +#: build/C/man2/clone.2:1092 +#, no-wrap +msgid " /* Allocate stack for child */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:110 +#: build/C/man2/clone.2:1097 +#, no-wrap msgid "" -"B(2), B(2), B(2), " -"B(2), B(2), B(2)" +" stack = malloc(STACK_SIZE);\n" +" if (stack == NULL)\n" +" errExit(\"malloc\");\n" +" stackTop = stack + STACK_SIZE; /* Assume stack grows downward */\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:112 build/C/man2/sched_rr_get_interval.2:131 build/C/man2/sched_setparam.2:126 build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:84 +#: build/C/man2/clone.2:1100 +#, no-wrap msgid "" -"I by Bill O. Gallmeister, O'Reilly " -"& Associates, Inc., ISBN 1-56592-074-0" +" /* Create child that has its own UTS namespace;\n" +" child commences execution in childFunc() */\n" msgstr "" -#. type: TH -#: build/C/man3/sched_getcpu.3:24 +#. type: Plain text +#: build/C/man2/clone.2:1105 #, no-wrap -msgid "SCHED_GETCPU" +msgid "" +" pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" +" if (pid == -1)\n" +" errExit(\"clone\");\n" +" printf(\"clone() returned %ld\\en\", (long) pid);\n" msgstr "" -#. type: TH -#: build/C/man3/sched_getcpu.3:24 +#. type: Plain text +#: build/C/man2/clone.2:1107 #, no-wrap -msgid "2010-10-31" +msgid " /* Parent falls through to here */\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:27 -msgid "sched_getcpu - determine CPU on which the calling thread is running" +#: build/C/man2/clone.2:1109 +#, no-wrap +msgid " sleep(1); /* Give child time to change its hostname */\n" msgstr "" -#. Really:_BSD_SOURCE || _SVID_SOURCE #. type: Plain text -#: build/C/man3/sched_getcpu.3:32 +#: build/C/man2/clone.2:1112 #, no-wrap msgid "" -"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" -"B<#include Esched.hE>\n" +" /* Display hostname in parent\\(aqs UTS namespace. This will be\n" +" different from hostname in child\\(aqs UTS namespace. */\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:34 +#: build/C/man2/clone.2:1116 #, no-wrap -msgid "B\n" +msgid "" +" if (uname(&uts) == -1)\n" +" errExit(\"uname\");\n" +" printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:38 +#: build/C/man2/clone.2:1120 +#, no-wrap msgid "" -"B() returns the number of the CPU on which the calling thread " -"is currently executing." +" if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n" +" errExit(\"waitpid\");\n" +" printf(\"child has terminated\\en\");\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:45 +#: build/C/man2/clone.2:1123 +#, no-wrap msgid "" -"On success, B() returns a nonnegative CPU number. On error, " -"-1 is returned and I is set to indicate the error." +" exit(EXIT_SUCCESS);\n" +"}\n" msgstr "" -#. type: TP -#: build/C/man3/sched_getcpu.3:46 build/C/man2/sched_rr_get_interval.2:88 -#, no-wrap -msgid "B" +#. type: Plain text +#: build/C/man2/clone.2:1138 +msgid "" +"B(2), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" msgstr "" -#. type: Plain text -#: build/C/man3/sched_getcpu.3:50 -msgid "This kernel does not implement B(2)." +#. type: TH +#: build/C/man2/kcmp.2:28 +#, no-wrap +msgid "KCMP" msgstr "" -#. type: Plain text -#: build/C/man3/sched_getcpu.3:52 -msgid "This function is available since glibc 2.6." +#. type: TH +#: build/C/man2/kcmp.2:28 +#, no-wrap +msgid "2013-01-27" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:55 -msgid "B() is glibc specific." +#: build/C/man2/kcmp.2:31 +msgid "kcmp - compare two processes to determine if they share a kernel resource" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:57 -msgid "The call" +#: build/C/man2/kcmp.2:34 +#, no-wrap +msgid "B<#include Elinux/kcmp.hE>\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:61 +#: build/C/man2/kcmp.2:37 #, no-wrap -msgid "cpu = sched_getcpu();\n" +msgid "" +"BIB<, pid_t >IB<, int >IB<,>\n" +"B< unsigned long >IB<, unsigned long >IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:67 -msgid "is equivalent to the following B(2) call:" +#: build/C/man2/kcmp.2:41 +msgid "I: There is no glibc wrapper for this system call; see NOTES." msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:73 -#, no-wrap +#: build/C/man2/kcmp.2:50 msgid "" -"int c, s;\n" -"s = getcpu(&c, NULL, NULL);\n" -"cpu = (s == -1) ? s : c;\n" +"The B() system call can be used to check whether the two processes " +"identified by I and I share a kernel resource such as virtual " +"memory, file descriptors, and so on." msgstr "" #. type: Plain text -#: build/C/man3/sched_getcpu.3:76 -msgid "B(2)" -msgstr "" - -#. type: TH -#: build/C/man2/sched_rr_get_interval.2:30 -#, no-wrap -msgid "SCHED_RR_GET_INTERVAL" +#: build/C/man2/kcmp.2:55 +msgid "" +"The I argument specifies which resource is to be compared in the two " +"processes. It has one of the following values:" msgstr "" -#. type: TH -#: build/C/man2/sched_rr_get_interval.2:30 +#. type: TP +#: build/C/man2/kcmp.2:55 #, no-wrap -msgid "2011-10-16" +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:33 -msgid "sched_rr_get_interval - get the SCHED_RR interval for the named process" +#: build/C/man2/kcmp.2:67 +msgid "" +"Check whether a file descriptor I in the process I refers to the " +"same open file description (see B(2)) as file descriptor I in " +"the process I." msgstr "" -#. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:37 -msgid "BIB<, struct timespec * >IB<);>" +#. type: TP +#: build/C/man2/kcmp.2:67 +#, no-wrap +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:48 +#: build/C/man2/kcmp.2:75 msgid "" -"B() writes into the I structure pointed to " -"by I the round-robin time quantum for the process identified by I. " -"The specified process should be running under the B scheduling " -"policy." +"Check whether the process share the same set of open file descriptors. The " +"arguments I and I are ignored." msgstr "" -#. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:52 -msgid "The I structure has the following form:" +#. type: TP +#: build/C/man2/kcmp.2:75 +#, no-wrap +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:59 -#, no-wrap +#: build/C/man2/kcmp.2:84 msgid "" -"struct timespec {\n" -" time_t tv_sec; /* seconds */\n" -" long tv_nsec; /* nanoseconds */\n" -"};\n" +"Check whether the processes share the same file system information (i.e., " +"file mode creation mask, working directory, and file system root). The " +"arguments I and I are ignored." msgstr "" -#. FIXME . On Linux, sched_rr_get_interval() -#. returns the timeslice for SCHED_OTHER processes -- this timeslice -#. is influenced by the nice value. -#. For SCHED_FIFO processes, this always returns 0. -# -#. The round-robin time quantum value is not alterable under Linux -#. 1.3.81. -#. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:74 -msgid "" -"If I is zero, the time quantum for the calling process is written into " -"I<*tp>." +#. type: TP +#: build/C/man2/kcmp.2:84 +#, no-wrap +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:81 +#: build/C/man2/kcmp.2:92 msgid "" -"On success, B() returns 0. On error, -1 is " -"returned, and I is set appropriately." +"Check whether the processes share I/O context. The arguments I and " +"I are ignored." msgstr "" #. type: TP -#: build/C/man2/sched_rr_get_interval.2:82 build/C/man2/sched_setaffinity.2:118 +#: build/C/man2/kcmp.2:92 #, no-wrap -msgid "B" +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:85 -msgid "Problem with copying information to userspace." +#: build/C/man2/kcmp.2:100 +msgid "" +"Check whether the processes share the same table of signal dispositions. " +"The arguments I and I are ignored." msgstr "" -#. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:88 -msgid "Invalid pid." +#. type: TP +#: build/C/man2/kcmp.2:100 +#, no-wrap +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:91 -msgid "The system call is not yet implemented (only on rather old kernels)." +#: build/C/man2/kcmp.2:109 +msgid "" +"Check whether the processes share the same list of System V semaphore undo " +"operations. The arguments I and I are ignored." msgstr "" #. type: TP -#: build/C/man2/sched_rr_get_interval.2:91 build/C/man2/sched_setaffinity.2:146 build/C/man2/sched_setparam.2:108 build/C/man2/sched_setscheduler.2:442 +#: build/C/man2/kcmp.2:109 #, no-wrap -msgid "B" +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:95 -msgid "Could not find a process with the ID I." +#: build/C/man2/kcmp.2:117 +msgid "" +"Check whether the processes share the same address space. The arguments " +"I and I are ignored." msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:104 +#: build/C/man2/kcmp.2:124 msgid "" -"POSIX systems on which B() is available define " +"Note the B() is not protected against false positives which may have " +"place if tasks are running. Which means one should stop tasks being " +"inspected with this syscall to obtain meaningful results." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:130 +msgid "" +"The return value of a successful call to B() is simply the result of " +"arithmetic comparison of kernel pointers (when the kernel compares " +"resources, it uses their memory addresses)." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:138 +msgid "" +"The easiest way to explain is to consider an example. Suppose that I " +"and I are the addresses of appropriate resources, then the return value " +"is one of the following:" +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:139 +#, no-wrap +msgid "0" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:144 +msgid "" +"I is equal to I; in other words, the two processes share the " +"resource." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:144 +#, no-wrap +msgid "1" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:148 +msgid "I is less than I." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:148 +#, no-wrap +msgid "2" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:152 +msgid "I is greater than I." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:152 +#, no-wrap +msgid "3" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:157 +msgid "I is not equal to I, but ordering information is unavailable." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:162 +msgid "On error, -1 is returned, and I is set appropriately." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:167 +msgid "" +"B was designed to return values suitable for sorting. This is " +"particularly handy if one needs to compare a large number of file " +"descriptors." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:168 build/C/man2/setns.2:78 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:178 +msgid "I is B and I or I is not an open file descriptor." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:182 +msgid "I is invalid." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:188 +msgid "" +"Insufficient permission to inspect process resources. The B " +"capability is required to inspect processes that you do not own." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:188 build/C/man2/sched_rr_get_interval.2:90 build/C/man2/sched_setaffinity.2:145 build/C/man2/sched_setparam.2:107 build/C/man2/sched_setscheduler.2:441 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:195 +msgid "Process I or I does not exist." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:199 +msgid "The B() system call first appeared in Linux 3.5." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:202 +msgid "" +"B() is Linux specific and should not be used in programs intended to " +"be portable." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:205 +msgid "" +"Glibc does not provide a wrapper for this system call; call it using " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:214 +msgid "" +"This system call is available only if the kernel was configured with " +"B. The main use of the system call is for the " +"checkpoint/restore in user space (CRIU) feature. The alternative to this " +"system call would have been to expose suitable process information via the " +"B(5) file system; this was deemed to be unsuitable for security " +"reasons." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:219 +msgid "" +"See B(2) for some background information on the shared resources " +"referred to on this page." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:222 +msgid "B(2), B(2)" +msgstr "" + +#. type: TH +#: build/C/man2/sched_get_priority_max.2:29 +#, no-wrap +msgid "SCHED_GET_PRIORITY_MAX" +msgstr "" + +#. type: TH +#: build/C/man2/sched_get_priority_max.2:29 +#, no-wrap +msgid "2006-03-23" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:32 +msgid "sched_get_priority_max, sched_get_priority_min - get static priority range" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:34 build/C/man2/sched_rr_get_interval.2:34 build/C/man2/sched_yield.2:34 +msgid "B<#include Esched.hE>" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:36 +msgid "BIB<);>" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:38 +msgid "BIB<);>" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:54 +msgid "" +"B() returns the maximum priority value that can be " +"used with the scheduling algorithm identified by I. " +"B() returns the minimum priority value that can be " +"used with the scheduling algorithm identified by I. Supported " +"I values are B, B, B, and " +"B. Further details about these policies can be found in " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:63 +msgid "" +"Processes with numerically higher priority values are scheduled before " +"processes with numerically lower priority values. Thus, the value returned " +"by B() will be greater than the value returned by " +"B()." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:69 +msgid "" +"Linux allows the static priority value range 1 to 99 for B and " +"B and the priority 0 for B and B. " +"Scheduling priority ranges for the various policies are not alterable." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:78 +msgid "" +"The range of scheduling priorities may vary on other POSIX systems, thus it " +"is a good idea for portable applications to use a virtual priority range and " +"map it to the interval given by B() and " +"B(). POSIX.1-2001 requires a spread of at least 32 " +"between the maximum and the minimum values for B and " +"B." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:86 +msgid "" +"POSIX systems on which B() and " +"B() are available define " +"B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:96 +msgid "" +"On success, B() and B() " +"return the maximum/minimum priority value for the named scheduling policy. " +"On error, -1 is returned, and I is set appropriately." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:100 +msgid "The argument I does not identify a defined scheduling policy." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:102 build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setparam.2:112 build/C/man2/sched_yield.2:54 +msgid "POSIX.1-2001." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_get_priority_max.2:111 +msgid "" +"B(2), B(2), B(2), " +"B(2), B(2), B(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 +msgid "" +"I by Bill O. Gallmeister, O'Reilly " +"& Associates, Inc., ISBN 1-56592-074-0." +msgstr "" + +#. type: TH +#: build/C/man3/sched_getcpu.3:26 +#, no-wrap +msgid "SCHED_GETCPU" +msgstr "" + +#. type: TH +#: build/C/man3/sched_getcpu.3:26 +#, no-wrap +msgid "2010-10-31" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:29 +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 Esched.hE>\n" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:36 +#, no-wrap +msgid "B\n" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:40 +msgid "" +"B() 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 +msgid "" +"On success, B() returns a nonnegative CPU number. On error, " +"-1 is returned and I 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 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:52 +msgid "This kernel does not implement B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:54 +msgid "This function is available since glibc 2.6." +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:57 +msgid "B() is glibc specific." +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:59 +msgid "The call" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:63 +#, no-wrap +msgid "cpu = sched_getcpu();\n" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:69 +msgid "is equivalent to the following B(2) call:" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:75 +#, no-wrap +msgid "" +"int c, s;\n" +"s = getcpu(&c, NULL, NULL);\n" +"cpu = (s == -1) ? s : c;\n" +msgstr "" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:79 +msgid "B(2)" +msgstr "" + +#. type: TH +#: build/C/man2/sched_rr_get_interval.2:29 +#, no-wrap +msgid "SCHED_RR_GET_INTERVAL" +msgstr "" + +#. type: TH +#: build/C/man2/sched_rr_get_interval.2:29 +#, no-wrap +msgid "2011-10-16" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:32 +msgid "sched_rr_get_interval - get the SCHED_RR interval for the named process" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:36 +msgid "BIB<, struct timespec * >IB<);>" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:47 +msgid "" +"B() writes into the I structure pointed to " +"by I the round-robin time quantum for the process identified by I. " +"The specified process should be running under the B scheduling " +"policy." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:51 +msgid "The I structure has the following form:" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:58 +#, no-wrap +msgid "" +"struct timespec {\n" +" time_t tv_sec; /* seconds */\n" +" long tv_nsec; /* nanoseconds */\n" +"};\n" +msgstr "" + +#. FIXME . On Linux, sched_rr_get_interval() +#. returns the timeslice for SCHED_OTHER processes -- this timeslice +#. is influenced by the nice value. +#. For SCHED_FIFO processes, this always returns 0. +# +#. The round-robin time quantum value is not alterable under Linux +#. 1.3.81. +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:73 +msgid "" +"If I is zero, the time quantum for the calling process is written into " +"I<*tp>." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:80 +msgid "" +"On success, B() returns 0. On error, -1 is " +"returned, and I is set appropriately." +msgstr "" + +#. type: TP +#: build/C/man2/sched_rr_get_interval.2:81 build/C/man2/sched_setaffinity.2:117 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:84 +msgid "Problem with copying information to user space." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:87 +msgid "Invalid pid." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:90 +msgid "The system call is not yet implemented (only on rather old kernels)." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:94 +msgid "Could not find a process with the ID I." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_rr_get_interval.2:103 +msgid "" +"POSIX systems on which B() is available define " "B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" #. type: SS -#: build/C/man2/sched_rr_get_interval.2:104 +#: build/C/man2/sched_rr_get_interval.2:103 #, no-wrap -msgid "Linux Notes" +msgid "Linux notes" msgstr "" #. commit a4ec24b48ddef1e93f7578be53270f0b95ad666c @@ -2034,7 +2581,7 @@ msgstr "" #. ENOSYS, because SCHED_RR has not yet been fully implemented and tested #. properly. #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:126 +#: build/C/man2/sched_rr_get_interval.2:125 msgid "" "POSIX does not specify any mechanism for controlling the size of the " "round-robin time quantum. Older Linux kernels provide a (nonportable) " @@ -2048,31 +2595,31 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:129 build/C/man2/sched_setaffinity.2:178 +#: build/C/man2/sched_rr_get_interval.2:128 build/C/man2/sched_setaffinity.2:177 msgid "B(2) has a description of the Linux scheduling scheme." msgstr "" #. type: TH -#: build/C/man2/sched_setaffinity.2:35 +#: build/C/man2/sched_setaffinity.2:34 #, no-wrap msgid "SCHED_SETAFFINITY" msgstr "" #. type: TH -#: build/C/man2/sched_setaffinity.2:35 +#: build/C/man2/sched_setaffinity.2:34 #, no-wrap -msgid "2010-11-06" +msgid "2013-02-11" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:39 +#: build/C/man2/sched_setaffinity.2:38 msgid "" "sched_setaffinity, sched_getaffinity - set and get a process's CPU affinity " "mask" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:46 +#: build/C/man2/sched_setaffinity.2:45 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -2080,7 +2627,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:49 +#: build/C/man2/sched_setaffinity.2:48 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -2088,7 +2635,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:64 +#: build/C/man2/sched_setaffinity.2:63 msgid "" "A process's CPU affinity mask determines the set of CPUs on which it is " "eligible to run. On a multiprocessor system, setting the CPU affinity mask " @@ -2103,7 +2650,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:71 +#: build/C/man2/sched_setaffinity.2:70 msgid "" "A CPU affinity mask is represented by the I structure, a \"CPU " "set\", pointed to by I. A set of macros for manipulating CPU sets is " @@ -2111,7 +2658,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:86 +#: build/C/man2/sched_setaffinity.2:85 msgid "" "B() sets the CPU affinity mask of the process whose ID " "is I to the value specified by I. If I is zero, then the " @@ -2121,7 +2668,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:93 +#: build/C/man2/sched_setaffinity.2:92 msgid "" "If the process specified by I is not currently running on one of the " "CPUs specified in I, then that process is migrated to one of the CPUs " @@ -2129,7 +2676,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:108 +#: build/C/man2/sched_setaffinity.2:107 msgid "" "B() writes the affinity mask of the process whose ID is " "I into the I structure pointed to by I. The " @@ -2138,19 +2685,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:117 +#: build/C/man2/sched_setaffinity.2:116 msgid "" "On success, B() and B() return 0. " "On error, -1 is returned, and I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:121 +#: build/C/man2/sched_setaffinity.2:120 msgid "A supplied memory address was invalid." msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:129 +#: build/C/man2/sched_setaffinity.2:128 msgid "" "The affinity bit mask I contains no processors that are currently " "physically on the system and permitted to the process according to any " @@ -2159,7 +2706,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:136 +#: build/C/man2/sched_setaffinity.2:135 msgid "" "(B() and, in kernels before 2.6.9, " "B()) I is smaller than the size of the " @@ -2167,7 +2714,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:146 +#: build/C/man2/sched_setaffinity.2:145 msgid "" "(B()) The calling process does not have appropriate " "privileges. The caller needs an effective user ID equal to the real user ID " @@ -2176,12 +2723,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:149 build/C/man2/sched_setparam.2:111 build/C/man2/sched_setscheduler.2:445 +#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setparam.2:110 build/C/man2/sched_setscheduler.2:444 msgid "The process whose ID is I could not be found." msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:160 +#: build/C/man2/sched_setaffinity.2:159 msgid "" "The CPU affinity system calls were introduced in Linux kernel 2.5.8. The " "system call wrappers were introduced in glibc 2.3. Initially, the glibc " @@ -2191,12 +2738,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:162 +#: build/C/man2/sched_setaffinity.2:161 msgid "These system calls are Linux-specific." msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:175 +#: build/C/man2/sched_setaffinity.2:174 msgid "" "After a call to B(), the set of CPUs on which the process " "will actually run is the intersection of the set specified in the I " @@ -2208,7 +2755,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:195 +#: build/C/man2/sched_setaffinity.2:194 msgid "" "The affinity mask is actually a per-thread attribute that can be adjusted " "independently for each of the threads in a thread group. The value returned " @@ -2221,14 +2768,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:201 +#: build/C/man2/sched_setaffinity.2:200 msgid "" "A child created via B(2) inherits its parent's CPU affinity mask. " "The affinity mask is preserved across an B(2)." msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:215 +#: build/C/man2/sched_setaffinity.2:214 msgid "" "This manual page describes the glibc interface for the CPU affinity calls. " "The actual system call interface is slightly different, with the I " @@ -2240,34 +2787,40 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:230 +#: build/C/man2/sched_setaffinity.2:233 msgid "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), " +"B(1), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(3), B(3), B(3), " "B(7), B(7)" msgstr "" #. type: TH -#: build/C/man2/sched_setparam.2:31 +#: build/C/man2/sched_setparam.2:30 #, no-wrap msgid "SCHED_SETPARAM" msgstr "" +#. type: TH +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#, no-wrap +msgid "2013-02-12" +msgstr "" + #. type: Plain text -#: build/C/man2/sched_setparam.2:34 +#: build/C/man2/sched_setparam.2:33 msgid "sched_setparam, sched_getparam - set and get scheduling parameters" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:37 build/C/man2/sched_setscheduler.2:54 +#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53 #, no-wrap msgid "B<#include Esched.hE>\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:39 +#: build/C/man2/sched_setparam.2:38 #, no-wrap msgid "" "BIB<, const struct sched_param " @@ -2275,13 +2828,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:41 +#: build/C/man2/sched_setparam.2:40 #, no-wrap msgid "BIB<, struct sched_param *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66 +#: build/C/man2/sched_setparam.2:46 build/C/man2/sched_setscheduler.2:65 #, no-wrap msgid "" "B() sets the scheduling parameters associated with the " "scheduling policy for the process identified by I. If I is zero, " @@ -2303,7 +2856,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:67 +#: build/C/man2/sched_setparam.2:66 msgid "" "B() retrieves the scheduling parameters for the process " "identified by I. If I is zero, then the parameters of the calling " @@ -2311,7 +2864,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:76 +#: build/C/man2/sched_setparam.2:75 msgid "" "B() checks the validity of I for the scheduling " "policy of the process. The value Isched_priority> must lie " @@ -2320,40 +2873,47 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:80 +#: build/C/man2/sched_setparam.2:79 msgid "" "For a discussion of the privileges and resource limits related to scheduling " "priority and policy, see B(2)." msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:88 +#: build/C/man2/sched_setparam.2:87 msgid "" "POSIX systems on which B() and B() are " "available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:97 +#: build/C/man2/sched_setparam.2:96 msgid "" "On success, B() and B() return 0. On " "error, -1 is returned, and I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:102 +#: build/C/man2/sched_setparam.2:101 msgid "The argument I does not make sense for the current scheduling policy." msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:108 +#: build/C/man2/sched_setparam.2:107 msgid "" "The calling process does not have appropriate privileges (Linux: does not " "have the B capability)." msgstr "" #. type: Plain text -#: build/C/man2/sched_setparam.2:124 +#: build/C/man2/sched_setparam.2:118 +msgid "" +"Scheduling parameters are in fact per-thread attributes on Linux; see " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_setparam.2:131 msgid "" "B(2), B(2), B(2), " "B(2), B(2), " @@ -2362,44 +2922,38 @@ msgid "" msgstr "" #. type: TH -#: build/C/man2/sched_setscheduler.2:47 +#: build/C/man2/sched_setscheduler.2:46 #, no-wrap msgid "SCHED_SETSCHEDULER" msgstr "" -#. type: TH -#: build/C/man2/sched_setscheduler.2:47 -#, no-wrap -msgid "2011-09-19" -msgstr "" - #. type: Plain text -#: build/C/man2/sched_setscheduler.2:51 +#: build/C/man2/sched_setscheduler.2:50 msgid "" "sched_setscheduler, sched_getscheduler - set and get scheduling " "policy/parameters" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:56 +#: build/C/man2/sched_setscheduler.2:55 #, no-wrap msgid "BIB<, int >IB<,>\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:58 +#: build/C/man2/sched_setscheduler.2:57 #, no-wrap msgid "B< const struct sched_param *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:60 +#: build/C/man2/sched_setscheduler.2:59 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:77 +#: build/C/man2/sched_setscheduler.2:76 msgid "" "B() sets both the scheduling policy and the associated " "parameters for the process whose ID is specified in I. If I " @@ -2410,7 +2964,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/sched_setscheduler.2:77 +#: build/C/man2/sched_setscheduler.2:76 #, no-wrap msgid "B" msgstr "" @@ -2418,34 +2972,34 @@ msgstr "" #. In the 2.6 kernel sources, SCHED_OTHER is actually called #. SCHED_NORMAL. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:82 +#: build/C/man2/sched_setscheduler.2:81 msgid "the standard round-robin time-sharing policy;" msgstr "" #. type: TP -#: build/C/man2/sched_setscheduler.2:82 +#: build/C/man2/sched_setscheduler.2:81 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:85 +#: build/C/man2/sched_setscheduler.2:84 msgid "for \"batch\" style execution of processes; and" msgstr "" #. type: TP -#: build/C/man2/sched_setscheduler.2:85 +#: build/C/man2/sched_setscheduler.2:84 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:90 +#: build/C/man2/sched_setscheduler.2:89 msgid "for running I low priority background jobs." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:94 +#: build/C/man2/sched_setscheduler.2:93 msgid "" "The following \"real-time\" policies are also supported, for special " "time-critical applications that need precise control over the way in which " @@ -2453,34 +3007,34 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/sched_setscheduler.2:94 +#: build/C/man2/sched_setscheduler.2:93 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:97 +#: build/C/man2/sched_setscheduler.2:96 msgid "a first-in, first-out policy; and" msgstr "" #. type: TP -#: build/C/man2/sched_setscheduler.2:97 +#: build/C/man2/sched_setscheduler.2:96 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:100 +#: build/C/man2/sched_setscheduler.2:99 msgid "a round-robin policy." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:102 +#: build/C/man2/sched_setscheduler.2:101 msgid "The semantics of each of these policies are detailed below." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:109 +#: build/C/man2/sched_setscheduler.2:108 msgid "" "B() queries the scheduling policy currently applied to " "the process identified by I. If I equals zero, the policy of the " @@ -2488,13 +3042,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:109 +#: build/C/man2/sched_setscheduler.2:108 #, no-wrap -msgid "Scheduling Policies" +msgid "Scheduling policies" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:118 +#: build/C/man2/sched_setscheduler.2:117 msgid "" "The scheduler is the kernel component that decides which runnable process " "will be executed by the CPU next. Each process has an associated scheduling " @@ -2505,7 +3059,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:123 +#: build/C/man2/sched_setscheduler.2:122 msgid "" "For processes scheduled under one of the normal scheduling policies " "(B, B, B), I is not " @@ -2513,7 +3067,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:137 +#: build/C/man2/sched_setscheduler.2:136 msgid "" "Processes scheduled under one of the real-time policies (B, " "B) have a I value in the range 1 (low) to 99 " @@ -2527,7 +3081,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:143 +#: build/C/man2/sched_setscheduler.2:142 msgid "" "Conceptually, the scheduler maintains a list of runnable processes for each " "possible I value. In order to determine which process runs " @@ -2536,7 +3090,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:147 +#: build/C/man2/sched_setscheduler.2:146 msgid "" "A process's scheduling policy determines where it will be inserted into the " "list of processes with equal static priority and how it will move inside " @@ -2544,7 +3098,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:155 +#: build/C/man2/sched_setscheduler.2:154 msgid "" "All scheduling is preemptive: if a process with a higher static priority " "becomes ready to run, the currently running process will be preempted and " @@ -2554,13 +3108,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:155 +#: build/C/man2/sched_setscheduler.2:154 #, no-wrap -msgid "SCHED_FIFO: First In-First Out scheduling" +msgid "SCHED_FIFO: First in-first out scheduling" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:164 +#: build/C/man2/sched_setscheduler.2:163 msgid "" "B can only be used with static priorities higher than 0, which " "means that when a B processes becomes runnable, it will always " @@ -2571,13 +3125,13 @@ msgid "" msgstr "" #. type: IP -#: build/C/man2/sched_setscheduler.2:164 build/C/man2/sched_setscheduler.2:169 build/C/man2/sched_setscheduler.2:172 build/C/man2/sched_setscheduler.2:186 build/C/man2/sched_setscheduler.2:288 build/C/man2/sched_setscheduler.2:296 build/C/man2/sched_setscheduler.2:337 build/C/man2/sched_setscheduler.2:345 build/C/man2/sched_setscheduler.2:350 build/C/man2/sched_setscheduler.2:355 +#: build/C/man2/sched_setscheduler.2:163 build/C/man2/sched_setscheduler.2:168 build/C/man2/sched_setscheduler.2:171 build/C/man2/sched_setscheduler.2:185 build/C/man2/sched_setscheduler.2:287 build/C/man2/sched_setscheduler.2:295 build/C/man2/sched_setscheduler.2:336 build/C/man2/sched_setscheduler.2:344 build/C/man2/sched_setscheduler.2:349 build/C/man2/sched_setscheduler.2:354 #, no-wrap msgid "*" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:169 +#: build/C/man2/sched_setscheduler.2:168 msgid "" "A B process that has been preempted by another process of higher " "priority will stay at the head of the list for its priority and will resume " @@ -2585,7 +3139,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:172 +#: build/C/man2/sched_setscheduler.2:171 msgid "" "When a B process becomes runnable, it will be inserted at the " "end of the list for its priority." @@ -2594,7 +3148,7 @@ msgstr "" #. In 2.2.x and 2.4.x, the process is placed at the front of the queue #. In 2.0.x, the Right Thing happened: the process went to the back -- MTK #. type: Plain text -#: build/C/man2/sched_setscheduler.2:186 +#: build/C/man2/sched_setscheduler.2:185 msgid "" "A call to B() or B(2) will put the " "B (or B) process identified by I at the start of " @@ -2604,34 +3158,34 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:190 +#: build/C/man2/sched_setscheduler.2:189 msgid "A process calling B(2) will be put at the end of the list." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:194 +#: build/C/man2/sched_setscheduler.2:193 msgid "" "No other events will move a process scheduled under the B policy " "in the wait list of runnable processes with equal static priority." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:199 +#: build/C/man2/sched_setscheduler.2:198 msgid "" "A B process runs until either it is blocked by an I/O request, " "it is preempted by a higher priority process, or it calls B(2)." msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:199 +#: build/C/man2/sched_setscheduler.2:198 #, no-wrap -msgid "SCHED_RR: Round Robin scheduling" +msgid "SCHED_RR: Round-robin scheduling" msgstr "" #. On Linux 2.4, the length of the RR interval is influenced #. by the process nice value -- MTK #. type: Plain text -#: build/C/man2/sched_setscheduler.2:218 +#: build/C/man2/sched_setscheduler.2:217 msgid "" "B is a simple enhancement of B. Everything described " "above for B also applies to B, except that each " @@ -2640,18 +3194,18 @@ msgid "" "quantum, it will be put at the end of the list for its priority. A " "B process that has been preempted by a higher priority process and " "subsequently resumes execution as a running process will complete the " -"unexpired portion of its round robin time quantum. The length of the time " +"unexpired portion of its round-robin time quantum. The length of the time " "quantum can be retrieved using B(2)." msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:218 +#: build/C/man2/sched_setscheduler.2:217 #, no-wrap msgid "SCHED_OTHER: Default Linux time-sharing scheduling" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:234 +#: build/C/man2/sched_setscheduler.2:233 msgid "" "B can only be used at static priority 0. B is the " "standard Linux time-sharing scheduler that is intended for all processes " @@ -2664,13 +3218,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:234 +#: build/C/man2/sched_setscheduler.2:233 #, no-wrap msgid "SCHED_BATCH: Scheduling batch processes" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:246 +#: build/C/man2/sched_setscheduler.2:245 msgid "" "(Since Linux 2.6.16.) B can only be used at static priority " "0. This policy is similar to B in that it schedules the " @@ -2685,7 +3239,7 @@ msgstr "" #. accompanied Ingo Molnar's patch for the implementation of #. SCHED_BATCH. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:255 +#: build/C/man2/sched_setscheduler.2:254 msgid "" "This policy is useful for workloads that are noninteractive, but do not want " "to lower their nice value, and for workloads that want a deterministic " @@ -2694,20 +3248,20 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:255 +#: build/C/man2/sched_setscheduler.2:254 #, no-wrap msgid "SCHED_IDLE: Scheduling very low priority jobs" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:259 +#: build/C/man2/sched_setscheduler.2:258 msgid "" "(Since Linux 2.6.23.) B can only be used at static priority 0; " "the process nice value has no influence for this policy." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:267 +#: build/C/man2/sched_setscheduler.2:266 msgid "" "This policy is intended for running jobs at extremely low priority (lower " "even than a +19 nice value with the B or B " @@ -2715,13 +3269,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:267 +#: build/C/man2/sched_setscheduler.2:266 #, no-wrap msgid "Resetting scheduling policy for child processes" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:283 +#: build/C/man2/sched_setscheduler.2:282 msgid "" "Since Linux 2.6.32, the B flag can be ORed in I " "when calling B(). As a result of including this flag, " @@ -2732,28 +3286,28 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:288 +#: build/C/man2/sched_setscheduler.2:287 msgid "" "More precisely, if the B flag is specified, the " "following rules apply for subsequently created children:" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:296 +#: build/C/man2/sched_setscheduler.2:295 msgid "" "If the calling process has a scheduling policy of B or " "B, the policy is reset to B in child processes." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:299 +#: build/C/man2/sched_setscheduler.2:298 msgid "" "If the calling process has a negative nice value, the nice value is reset to " "zero in child processes." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:308 +#: build/C/man2/sched_setscheduler.2:307 msgid "" "After the B flag has been enabled, it can only be reset " "if the process has the B capability. This flag is disabled in " @@ -2761,20 +3315,20 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:314 +#: build/C/man2/sched_setscheduler.2:313 msgid "" "The B flag is visible in the policy value returned by " "B()" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:314 +#: build/C/man2/sched_setscheduler.2:313 #, no-wrap msgid "Privileges and resource limits" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:327 +#: build/C/man2/sched_setscheduler.2:326 msgid "" "In Linux kernels before 2.6.12, only privileged (B) processes " "can set a nonzero static priority (i.e., set a real-time scheduling " @@ -2786,7 +3340,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:337 +#: build/C/man2/sched_setscheduler.2:336 msgid "" "Since Linux 2.6.12, the B resource limit defines a ceiling on " "an unprivileged process's static priority for the B and " @@ -2795,7 +3349,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:345 +#: build/C/man2/sched_setscheduler.2:344 msgid "" "If an unprivileged process has a nonzero B soft limit, then " "it can change its scheduling policy and priority, subject to the restriction " @@ -2804,14 +3358,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:350 +#: build/C/man2/sched_setscheduler.2:349 msgid "" "If the B soft limit is 0, then the only permitted changes are " "to lower the priority, or to switch to a non-real-time policy." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:355 +#: build/C/man2/sched_setscheduler.2:354 msgid "" "Subject to the same rules, another unprivileged process can also make these " "changes, as long as the effective user ID of the process making the change " @@ -2820,7 +3374,7 @@ msgstr "" #. commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8 #. type: Plain text -#: build/C/man2/sched_setscheduler.2:373 +#: build/C/man2/sched_setscheduler.2:372 msgid "" "Special rules apply for the B. In Linux kernels before 2.6.39, " "an unprivileged process operating under this policy cannot change its " @@ -2832,7 +3386,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:384 +#: build/C/man2/sched_setscheduler.2:383 msgid "" "Privileged (B) processes ignore the B limit; " "as with older kernels, they can make arbitrary changes to scheduling policy " @@ -2841,7 +3395,7 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:384 +#: build/C/man2/sched_setscheduler.2:383 #, no-wrap msgid "Response time" msgstr "" @@ -2849,7 +3403,7 @@ msgstr "" #. as described in #. .BR request_irq (9). #. type: Plain text -#: build/C/man2/sched_setscheduler.2:392 +#: build/C/man2/sched_setscheduler.2:391 msgid "" "A blocked high priority process waiting for the I/O has a certain response " "time before it is scheduled again. The device driver writer can greatly " @@ -2857,13 +3411,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:392 +#: build/C/man2/sched_setscheduler.2:391 #, no-wrap msgid "Miscellaneous" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:397 +#: build/C/man2/sched_setscheduler.2:396 msgid "" "Child processes inherit the scheduling policy and parameters across a " "B(2). The scheduling policy and parameters are preserved across " @@ -2871,14 +3425,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:403 +#: build/C/man2/sched_setscheduler.2:402 msgid "" "Memory locking is usually needed for real-time processes to avoid paging " "delays; this can be done with B(2) or B(2)." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:415 +#: build/C/man2/sched_setscheduler.2:414 msgid "" "Since a nonblocking infinite loop in a process scheduled under B " "or B will block all processes with lower priority forever, a " @@ -2890,14 +3444,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:423 +#: build/C/man2/sched_setscheduler.2:422 msgid "" "POSIX systems on which B() and B() " "are available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:433 +#: build/C/man2/sched_setscheduler.2:432 msgid "" "On success, B() returns zero. On success, " "B() returns the policy for the process (a nonnegative " @@ -2905,26 +3459,26 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:439 +#: build/C/man2/sched_setscheduler.2:438 msgid "" "The scheduling I is not one of the recognized policies, I is " "NULL, or I does not make sense for the I." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:442 +#: build/C/man2/sched_setscheduler.2:441 msgid "The calling process does not have appropriate privileges." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:448 +#: build/C/man2/sched_setscheduler.2:447 msgid "" "POSIX.1-2001 (but see BUGS below). The B and B " "policies are Linux-specific." msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:456 +#: build/C/man2/sched_setscheduler.2:455 msgid "" "POSIX.1 does not detail the permissions that an unprivileged process " "requires in order to call B(), and details vary across " @@ -2934,7 +3488,20 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:466 +#: build/C/man2/sched_setscheduler.2:476 +msgid "" +"The scheduling policy and parameters are in fact per-thread attributes on " +"Linux. The value returned from a call to B(2) can be passed in the " +"argument I. Specifying I as 0 will operate on the attribute for " +"the calling thread, and passing the value returned from a call to " +"B(2) will operate on the attribute for the main thread of the " +"thread group. (If you are using the POSIX threads API, then use " +"B(3), B(3), and " +"B(3), instead of the B(2) system calls.)" +msgstr "" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:486 msgid "" "Originally, Standard Linux was intended as a general-purpose operating " "system being able to handle background processes, interactive applications, " @@ -2947,7 +3514,7 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/sched_setscheduler.2:466 +#: build/C/man2/sched_setscheduler.2:486 #, no-wrap msgid "Real-time features in the mainline Linux kernel" msgstr "" @@ -2955,7 +3522,7 @@ msgstr "" #. FIXME . Probably this text will need some minor tweaking #. by about the time of 2.6.30; ask Carsten Emde about this then. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:480 +#: build/C/man2/sched_setscheduler.2:500 msgid "" "From kernel version 2.6.18 onward, however, Linux is gradually becoming " "equipped with real-time capabilities, most of which are derived from the " @@ -2967,20 +3534,20 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:484 +#: build/C/man2/sched_setscheduler.2:504 #, no-wrap msgid "patch-I-rtI\n" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:489 +#: build/C/man2/sched_setscheduler.2:510 msgid "" -"and can be downloaded from " -"I." +"and can be downloaded from E<.UR " +"http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/projects\\:/rt/> E<.UE .>" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:498 +#: build/C/man2/sched_setscheduler.2:519 msgid "" "Without the patches and prior to their full inclusion into the mainline " "kernel, the kernel configuration offers only the three preemption classes " @@ -2990,7 +3557,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:509 +#: build/C/man2/sched_setscheduler.2:530 msgid "" "With the patches applied or after their full inclusion into the mainline " "kernel, the additional configuration item B becomes " @@ -3001,7 +3568,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:517 +#: build/C/man2/sched_setscheduler.2:538 msgid "" "POSIX says that on success, B() should return the " "previous scheduling policy. Linux B() does not conform " @@ -3009,9 +3576,9 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:535 +#: build/C/man2/sched_setscheduler.2:559 msgid "" -"B(2), B(2), B(2), B(2), " +"B(1), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(2), B(2), B(2), " @@ -3019,36 +3586,36 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:541 +#: build/C/man2/sched_setscheduler.2:567 msgid "" -"The kernel source file I (since " -"kernel 2.6.25)." +"I in the Linux kernel source " +"tree (since kernel 2.6.25)." msgstr "" #. type: TH -#: build/C/man2/sched_yield.2:30 +#: build/C/man2/sched_yield.2:29 #, no-wrap msgid "SCHED_YIELD" msgstr "" #. type: TH -#: build/C/man2/sched_yield.2:30 +#: build/C/man2/sched_yield.2:29 #, no-wrap msgid "2008-10-18" msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:33 +#: build/C/man2/sched_yield.2:32 msgid "sched_yield - yield the processor" msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:37 +#: build/C/man2/sched_yield.2:36 msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:42 +#: build/C/man2/sched_yield.2:41 msgid "" "B() causes the calling thread to relinquish the CPU. The " "thread is moved to the end of the queue for its static priority and a new " @@ -3056,33 +3623,33 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:49 +#: build/C/man2/sched_yield.2:48 msgid "" "On success, B() returns 0. On error, -1 is returned, and " "I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:53 +#: build/C/man2/sched_yield.2:52 msgid "In the Linux implementation, B() always succeeds." msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:60 +#: build/C/man2/sched_yield.2:59 msgid "" "If the calling thread is the only thread in the highest priority list at " "that time, it will continue to run after a call to B()." msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:66 +#: build/C/man2/sched_yield.2:65 msgid "" "POSIX systems on which B() is available define " "B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:79 +#: build/C/man2/sched_yield.2:78 msgid "" "Strategic calls to B() can improve performance by giving other " "threads or processes a chance to run when (heavily) contended resources " @@ -3094,42 +3661,36 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sched_yield.2:82 -msgid "B(2) for a description of Linux scheduling." +#: build/C/man2/sched_yield.2:81 +msgid "B(2) for a description of Linux scheduling" msgstr "" #. type: TH -#: build/C/man2/setns.2:4 +#: build/C/man2/setns.2:8 #, no-wrap msgid "SETNS" msgstr "" -#. type: TH -#: build/C/man2/setns.2:4 -#, no-wrap -msgid "2011-10-04" -msgstr "" - #. type: Plain text -#: build/C/man2/setns.2:7 +#: build/C/man2/setns.2:11 msgid "setns - reassociate thread with a namespace" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:13 +#: build/C/man2/setns.2:17 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:17 +#: build/C/man2/setns.2:21 msgid "" "Given a file descriptor referring to a namespace, reassociate the calling " "thread with that namespace." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:30 +#: build/C/man2/setns.2:34 msgid "" "The I argument is a file descriptor referring to one of the namespace " "entries in a I directory; see B(5) for further " @@ -3139,7 +3700,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:36 +#: build/C/man2/setns.2:40 msgid "" "The I argument specifies which type of namespace the calling thread " "may be reassociated with. This argument can have one of the following " @@ -3147,51 +3708,51 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/setns.2:36 +#: build/C/man2/setns.2:40 #, no-wrap msgid "B<0>" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:39 +#: build/C/man2/setns.2:43 msgid "Allow any type of namespace to be joined." msgstr "" #. type: TP -#: build/C/man2/setns.2:39 +#: build/C/man2/setns.2:43 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:43 +#: build/C/man2/setns.2:47 msgid "I must refer to an IPC namespace." msgstr "" #. type: TP -#: build/C/man2/setns.2:43 +#: build/C/man2/setns.2:47 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:47 +#: build/C/man2/setns.2:51 msgid "I must refer to a network namespace." msgstr "" #. type: TP -#: build/C/man2/setns.2:47 +#: build/C/man2/setns.2:51 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:51 +#: build/C/man2/setns.2:55 msgid "I must refer to a UTS namespace." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:66 +#: build/C/man2/setns.2:70 msgid "" "Specifying I as 0 suffices if the caller knows (or does not care) " "what type of namespace is referred to by I. Specifying a nonzero value " @@ -3203,25 +3764,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:73 +#: build/C/man2/setns.2:77 msgid "" "On success, I() returns 0. On failure, -1 is returned and I " "is set to indicate the error." msgstr "" -#. type: TP -#: build/C/man2/setns.2:74 -#, no-wrap -msgid "B" -msgstr "" - #. type: Plain text -#: build/C/man2/setns.2:78 +#: build/C/man2/setns.2:82 msgid "I is not a valid file descriptor." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:85 +#: build/C/man2/setns.2:89 msgid "" "I refers to a namespace whose type does not match that specified in " "I, or there is problem with reassociating the the thread with the " @@ -3229,71 +3784,192 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:88 +#: build/C/man2/setns.2:92 msgid "Cannot allocate sufficient memory to change the specified namespace." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:93 +#: build/C/man2/setns.2:97 msgid "" "The calling thread did not have the required privilege (B) " "for this operation." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:97 -msgid "The B() system call first appeared in Linux in kernel 3.0" +#: build/C/man2/setns.2:102 +msgid "" +"The B() system call first appeared in Linux in kernel 3.0; library " +"support was added to glibc in version 2.14." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:101 +#: build/C/man2/setns.2:106 msgid "The B() system call is Linux-specific." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:107 +#: build/C/man2/setns.2:112 msgid "" "Not all of the attributes that can be shared when a new thread is created " "using B(2) can be changed using B()." msgstr "" #. type: Plain text -#: build/C/man2/setns.2:115 +#: build/C/man2/setns.2:121 +msgid "" +"The program below takes two or more arguments. The first argument specifies " +"the pathname of a namespace file in an existing I " +"directory. The remaining arguments specify a command and its arguments. " +"The program opens the namespace file, joins that namespace using B(), " +"and executes the specified command inside that namespace." +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:131 +msgid "" +"The following shell session demonstrates the use of this program (compiled " +"as a binary named I) in conjunction with the B " +"example program in the B(2) man page (complied as a binary named " +"I)." +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:139 +msgid "" +"We begin by executing the example program in B(2) in the " +"background. That program creates a child in a separate UTS namespace. The " +"child changes the hostname in its namespace, and then both processes display " +"the hostnames in their UTS namespaces, so that we can see that they are " +"different." +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:151 +#, no-wrap +msgid "" +"$ B # Need privilege for namespace operations\n" +"Password:\n" +"# B<./newuts bizarro &>\n" +"[1] 3549\n" +"clone() returned 3550\n" +"uts.nodename in child: bizarro\n" +"uts.nodename in parent: antero\n" +"# B # Verify hostname in the shell\n" +"antero\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:158 +msgid "" +"We then run the program shown below, using it to execute a shell. Inside " +"that shell, we verify that the hostname is the one set by the child created " +"by the first program:" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:164 +#, no-wrap +msgid "" +"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n" +"# B # Executed in shell started by ns_exec\n" +"bizarro\n" +msgstr "" + +#. type: SS +#: build/C/man2/setns.2:166 +#, no-wrap +msgid "Program source" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:174 +#, no-wrap +msgid "" +"#define _GNU_SOURCE\n" +"#include Efcntl.hE\n" +"#include Esched.hE\n" +"#include Eunistd.hE\n" +"#include Estdlib.hE\n" +"#include Estdio.hE\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:182 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:187 +#, no-wrap +msgid "" +" if (argc E 3) {\n" +" fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", " +"argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:191 +#, no-wrap +msgid "" +" fd = open(argv[1], O_RDONLY); /* Get descriptor for namespace */\n" +" if (fd == -1)\n" +" errExit(\"open\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:194 +#, no-wrap +msgid "" +" if (setns(fd, 0) == -1) /* Join that namespace */\n" +" errExit(\"setns\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/setns.2:198 +#, no-wrap msgid "" -"The PID namespace and the mount namespace are not currently supported. (See " -"the descriptions of B and B in B(2).)" +" execvp(argv[2], &argv[2]); /* Execute a command in namespace */\n" +" errExit(\"execvp\");\n" +"}\n" msgstr "" #. type: Plain text -#: build/C/man2/setns.2:120 +#: build/C/man2/setns.2:205 msgid "B(2), B(2), B(2), B(5), B(7)" msgstr "" #. type: TH -#: build/C/man2/unshare.2:17 +#: build/C/man2/unshare.2:20 #, no-wrap msgid "UNSHARE" msgstr "" #. type: TH -#: build/C/man2/unshare.2:17 +#: build/C/man2/unshare.2:20 #, no-wrap -msgid "2010-10-30" +msgid "2012-12-31" msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:20 +#: build/C/man2/unshare.2:23 msgid "unshare - disassociate parts of the process execution context" msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:28 +#: build/C/man2/unshare.2:31 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:41 +#: build/C/man2/unshare.2:44 msgid "" "B() allows a process to disassociate parts of its execution " "context that are currently being shared with other processes. Part of the " @@ -3304,39 +3980,51 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:46 +#: build/C/man2/unshare.2:49 msgid "" "The main use of B() 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:53 +#: build/C/man2/unshare.2:56 msgid "" "The I argument is a bit mask that specifies which parts of the " "execution context should be unshared. This argument is specified by ORing " "together zero or more of the following constants:" msgstr "" +#. type: TP +#: build/C/man2/unshare.2:56 +#, no-wrap +msgid "B" +msgstr "" + #. type: Plain text -#: build/C/man2/unshare.2:61 +#: build/C/man2/unshare.2:64 msgid "" "Reverse the effect of the B(2) B flag. Unshare the " "file descriptor table, so that the calling process no longer shares its file " "descriptors with any other process." msgstr "" +#. type: TP +#: build/C/man2/unshare.2:64 +#, no-wrap +msgid "B" +msgstr "" + #. type: Plain text -#: build/C/man2/unshare.2:74 +#: build/C/man2/unshare.2:78 msgid "" "Reverse the effect of the B(2) B flag. Unshare file " "system attributes, so that the calling process no longer shares its root " -"directory, current directory, or umask attributes with any other process. " -"B(2), B(2), or B(2)" +"directory (B(2)), current directory (B(2)), or umask " +"(B(2)) attributes with any other process." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:91 +#: build/C/man2/unshare.2:95 msgid "" "This flag has the same effect as the B(2) B flag. " "Unshare the System V IPC namespace, so that the calling process has a " @@ -3346,16 +4034,16 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:105 +#: build/C/man2/unshare.2:110 msgid "" "This flag has the same effect as the B(2) B flag. " "Unshare the network namespace, so that the calling process is moved into a " "new network namespace which is not shared with any previously existing " -"process. B requires the B capability." +"process. Use of B requires the B capability." msgstr "" #. type: TP -#: build/C/man2/unshare.2:105 +#: build/C/man2/unshare.2:110 #, no-wrap msgid "B" msgstr "" @@ -3365,7 +4053,7 @@ 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:126 +#: build/C/man2/unshare.2:131 msgid "" "This flag has the same effect as the B(2) B flag. " "Unshare the mount namespace, so that the calling process has a private copy " @@ -3374,21 +4062,22 @@ msgid "" "requires the B capability." msgstr "" +#. type: Plain text +#: build/C/man2/unshare.2:145 +msgid "" +"This flag has the same effect as the B(2) B flag. " +"Unshare the UTS IPC namespace, so that the calling process has a private " +"copy of the UTS namespace which is not shared with any other process. Use " +"of B requires the B capability." +msgstr "" + #. type: TP -#: build/C/man2/unshare.2:126 +#: build/C/man2/unshare.2:145 #, no-wrap msgid "B (since Linux 2.6.26)" msgstr "" -#. type: Plain text -#: build/C/man2/unshare.2:140 -msgid "" -"This flag reverses the effect of the B(2) B flag. " -"Unshare System V semaphore undo values, so that the calling process has a " -"private copy which is not shared with any other process. Use of " -"B requires the B capability." -msgstr "" - +#. commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7 #. As at 2.6.16, the following forced implications also apply, #. although the relevant flags are not yet implemented. #. If CLONE_THREAD is set force CLONE_VM. @@ -3412,62 +4101,61 @@ 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:176 +#: build/C/man2/unshare.2:182 msgid "" -"This flag has the same effect as the B(2) B flag. " -"Unshare the UTS IPC namespace, so that the calling process has a private " -"copy of the UTS namespace which is not shared with any other process. Use " -"of B requires the B capability." +"This flag reverses the effect of the B(2) B flag. " +"Unshare System V semaphore undo values, so that the calling process has a " +"private copy which is not shared with any other process. Use of " +"B requires the B capability." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:183 +#: build/C/man2/unshare.2:189 msgid "" "If I is specified as zero, then B() is a no-op; no changes " "are made to the calling process's execution context." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:188 +#: build/C/man2/unshare.2:194 msgid "" "On success, zero returned. On failure, -1 is returned and I is set " "to indicate the error." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:193 +#: build/C/man2/unshare.2:199 msgid "An invalid bit was specified in I." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:197 +#: build/C/man2/unshare.2:203 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:200 +#: build/C/man2/unshare.2:206 msgid "The calling process did not have the required privileges for this operation." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:204 +#: build/C/man2/unshare.2:210 msgid "The B() system call was added to Linux in kernel 2.6.16." msgstr "" #. type: Plain text -#: build/C/man2/unshare.2:208 +#: build/C/man2/unshare.2:214 msgid "The B() system call is Linux-specific." msgstr "" +#. FIXME all of the following needs to be reviewed for the current kernel #. However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND #. was not specified when doing clone(); i.e., unsharing #. signal handlers is permitted if we are not actually #. sharing signal handlers. mtk -#. FIXME . check future kernel versions (e.g., 2.6.17) -#. to see if CLONE_VM gets implemented. -#. However, as at 2.6.16, we can do unshare(CLONE_VM) if CLONE_VM +#. However, we can do unshare(CLONE_VM) if CLONE_VM #. was not specified when doing clone(); i.e., unsharing #. virtual memory is permitted if we are not actually #. sharing virtual memory. mtk @@ -3482,133 +4170,21 @@ msgstr "" #. be incrementally added to unshare without affecting legacy #. applications using unshare. #. type: Plain text -#: build/C/man2/unshare.2:244 +#: build/C/man2/unshare.2:248 msgid "" "Not all of the process attributes that can be shared when a new process is " "created using B(2) can be unshared using B(). In " -"particular, as at kernel 2.6.16, B() does not implement flags that " -"reverse the effects of B, B, B, " -"or B. Such functionality may be added in the future, if required." -msgstr "" - -#. type: Plain text -#: build/C/man2/unshare.2:248 -msgid "B(2), B(2), B(2), Documentation/unshare.txt" -msgstr "" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, no-wrap -msgid "GET_NPROCS" -msgstr "" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, no-wrap -msgid "2012-03-20" -msgstr "" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, no-wrap -msgid "GNU" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:27 -msgid "get_nprocs, get_nprocs_conf - get number of processors" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:29 -msgid "B<#include Esys/sysinfo.hE>" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:31 -msgid "B" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:33 -msgid "B" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:37 -msgid "" -"The function B() returns the number of processors " -"configured by the operating system." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:44 -msgid "" -"The function B() returns the number of processors currently " -"available in the system. This may be less than the number returned by " -"B() because processors may be offline (e.g., on " -"hotpluggable systems)." +"particular, as at kernel 3.8, B() does not implement flags that " +"reverse the effects of B, B, or B. " +"Such functionality may be added in the future, if required." msgstr "" #. type: Plain text -#: build/C/man3/get_nprocs_conf.3:46 -msgid "As given in DESCRIPTION." +#: build/C/man2/unshare.2:254 +msgid "B(2), B(2), B(2), B(2), B(2)" msgstr "" #. type: Plain text -#: build/C/man3/get_nprocs_conf.3:48 -msgid "These functions are GNU extensions." -msgstr "" - -#. glibc 2.15 -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:55 -msgid "" -"The current implementation of these functions is rather expensive, since " -"they open and parse files in the I file system each time they are " -"called." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:60 -msgid "" -"The following B(3) calls make use of the functions documented on " -"this page to return the same information." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:64 -#, no-wrap -msgid "" -" np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */\n" -" np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */\n" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:71 -msgid "" -"The following example shows how B() and B() " -"can be used." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:75 -#, no-wrap -msgid "" -"#include Estdio.hE\n" -"#include Esys/sysinfo.hE\n" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:84 -#, no-wrap -msgid "" -"int\n" -"main(int argc, char *argv[])\n" -"{\n" -" printf(\"This system has %d processors configured and \"\n" -" \"%d processors available.\\en\",\n" -" get_nprocs_conf(), get_nprocs());\n" -" return 0;\n" -"}\n" +#: build/C/man2/unshare.2:257 +msgid "I in the Linux kernel source tree" msgstr ""