msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-07-15 16:08+0900\n"
-"PO-Revision-Date: 2013-07-15 16:34+0900\n"
+"POT-Creation-Date: 2014-06-03 01:29+0900\n"
+"PO-Revision-Date: 2014-06-07 01:31+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
msgid ""
"The system calls B<alloc_hugepages>() and B<free_hugepages>() were "
"introduced in Linux 2.5.36 and removed again in 2.5.54. They existed only "
-"on i386 and ia64 (when built with B<CONFIG_HUGETLB_PAGE>). In Linux 2.4.20 "
+"on i386 and ia64 (when built with B<CONFIG_HUGETLB_PAGE>). In Linux 2.4.20, "
"the syscall numbers exist, but the calls fail with the error B<ENOSYS>."
msgstr ""
"システムコール B<alloc_hugepages>() と B<free_hugepages>() は Linux 2.5.36 "
msgstr ""
"B<free_hugepages>() の I<addr> 引き数は、どのページを解放するかを指定する: "
"I<addr> は B<alloc_hugepages>() の呼び出しの返り値である (全てのユーザがメモ"
-"リを解放したときに、 そのメモリは初めて実際に解放される)。 B<alloc_hugepages>"
-"() の I<addr> 引き数はヒントであり、カーネルはそれに従うかもしれないし、 従"
-"わないかもしれない。 アドレスは正しく配置されなければならない。"
+"リを解放したときに、 そのメモリは初めて実際に解放される)。 "
+"B<alloc_hugepages>() の I<addr> 引き数はヒントであり、カーネルはそれに従うか"
+"もしれないし、 従わないかもしれない。 アドレスは正しく配置されなければならな"
+"い。"
#. type: Plain text
#: build/C/man2/alloc_hugepages.2:86
#. type: SH
#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:60
-#: build/C/man2/cacheflush.2:53 build/C/man2/fallocate.2:112
+#: build/C/man2/cacheflush.2:53 build/C/man2/fallocate.2:228
#: build/C/man2/madvise.2:268 build/C/man3/malloc_get_state.3:61
#: build/C/man3/malloc_info.3:48 build/C/man3/malloc_trim.3:51
#: build/C/man3/malloc_usable_size.3:40 build/C/man3/mallopt.3:379
#: build/C/man2/mmap2.2:54 build/C/man2/mprotect.2:78
#: build/C/man2/mremap.2:127 build/C/man2/msync.2:68
#: build/C/man2/posix_fadvise.2:87 build/C/man3/posix_fallocate.3:66
-#: build/C/man3/posix_memalign.3:141 build/C/man2/readahead.2:65
+#: build/C/man3/posix_memalign.3:142 build/C/man2/readahead.2:66
#: build/C/man2/remap_file_pages.2:124 build/C/man3/shm_open.3:171
-#: build/C/man2/shmctl.2:279 build/C/man2/shmget.2:180
-#: build/C/man2/shmop.2:171 build/C/man2/subpage_prot.2:66
+#: build/C/man2/shmctl.2:283 build/C/man2/shmget.2:183
+#: build/C/man2/shmop.2:168 build/C/man2/subpage_prot.2:66
#: build/C/man2/sync_file_range.2:141
#, no-wrap
msgid "RETURN VALUE"
#. type: SH
#: build/C/man2/alloc_hugepages.2:118 build/C/man2/cacheflush.2:59
-#: build/C/man2/fallocate.2:119 build/C/man2/madvise.2:275
+#: build/C/man2/fallocate.2:235 build/C/man2/madvise.2:275
#: build/C/man3/malloc_info.3:55 build/C/man3/malloc_trim.3:56
#: build/C/man3/mallopt.3:384 build/C/man2/mlock.2:122 build/C/man2/mmap.2:392
#: build/C/man2/mmap2.2:61 build/C/man2/mprotect.2:85
#: build/C/man2/mremap.2:135 build/C/man2/msync.2:73
#: build/C/man2/posix_fadvise.2:90 build/C/man3/posix_fallocate.3:72
-#: build/C/man3/posix_memalign.3:155 build/C/man2/readahead.2:71
+#: build/C/man3/posix_memalign.3:157 build/C/man2/readahead.2:72
#: build/C/man2/remap_file_pages.2:131 build/C/man3/shm_open.3:180
-#: build/C/man2/shmctl.2:301 build/C/man2/shmget.2:185
-#: build/C/man2/shmop.2:185 build/C/man2/subpage_prot.2:71
+#: build/C/man2/shmctl.2:305 build/C/man2/shmget.2:188
+#: build/C/man2/shmop.2:182 build/C/man2/subpage_prot.2:71
#: build/C/man2/sync_file_range.2:147
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:158
+#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:319
#, no-wrap
msgid "B<ENOSYS>"
msgstr "B<ENOSYS>"
"る。"
#. type: SH
-#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:65
-#: build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:199
+#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:70
+#: build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:370
#: build/C/man2/madvise.2:325 build/C/man3/mallinfo.3:110
#: build/C/man3/malloc_get_state.3:86 build/C/man3/malloc_hook.3:80
#: build/C/man3/malloc_info.3:63 build/C/man3/malloc_stats.3:55
#: build/C/man3/malloc_trim.3:60 build/C/man3/malloc_usable_size.3:48
#: build/C/man3/mallopt.3:392 build/C/man3/mcheck.3:145
-#: build/C/man2/mlock.2:186 build/C/man2/mmap.2:497 build/C/man2/mmap2.2:77
+#: build/C/man2/mlock.2:186 build/C/man2/mmap.2:495 build/C/man2/mmap2.2:77
#: build/C/man2/mprotect.2:113 build/C/man2/mremap.2:185
#: build/C/man2/msync.2:96 build/C/man3/mtrace.3:78
#: build/C/man2/posix_fadvise.2:112 build/C/man3/posix_fallocate.3:103
-#: build/C/man3/posix_memalign.3:180 build/C/man2/readahead.2:87
+#: build/C/man3/posix_memalign.3:182 build/C/man2/readahead.2:88
#: build/C/man2/remap_file_pages.2:153 build/C/man3/shm_open.3:251
-#: build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:373
-#: build/C/man2/shmget.2:232 build/C/man2/shmop.2:231
+#: build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:377
+#: build/C/man2/shmget.2:249 build/C/man2/shmop.2:228
#: build/C/man2/subpage_prot.2:96 build/C/man2/sync_file_range.2:180
#, no-wrap
msgid "CONFORMING TO"
"必要なプログラムで使うべきでない。"
#. type: SH
-#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:73
-#: build/C/man2/madvise.2:346 build/C/man3/malloc_get_state.3:88
+#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:78
+#: build/C/man2/madvise.2:347 build/C/man3/malloc_get_state.3:88
#: build/C/man3/malloc_hook.3:82 build/C/man3/malloc_info.3:65
#: build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62
#: build/C/man3/malloc_usable_size.3:50 build/C/man3/mcheck.3:147
-#: build/C/man2/mlock.2:213 build/C/man2/mmap.2:515 build/C/man2/mmap2.2:79
+#: build/C/man2/mlock.2:213 build/C/man2/mmap.2:513 build/C/man2/mmap2.2:79
#: build/C/man2/mprotect.2:122 build/C/man2/mremap.2:191
-#: build/C/man3/mtrace.3:80 build/C/man2/posix_fadvise.2:121
-#: build/C/man3/posix_memalign.3:219 build/C/man2/readahead.2:92
+#: build/C/man2/msync.2:120 build/C/man3/mtrace.3:80
+#: build/C/man2/posix_fadvise.2:121 build/C/man3/posix_memalign.3:221
+#: build/C/man2/readahead.2:93 build/C/man2/remap_file_pages.2:157
#: build/C/man3/shm_open.3:257 build/C/man7/shm_overview.7:103
-#: build/C/man2/shmctl.2:378 build/C/man2/shmget.2:238
-#: build/C/man2/shmop.2:250 build/C/man2/subpage_prot.2:98
+#: build/C/man2/shmctl.2:382 build/C/man2/shmget.2:257
+#: build/C/man2/shmop.2:247 build/C/man2/subpage_prot.2:98
#: build/C/man2/sync_file_range.2:183
#, no-wrap
msgid "NOTES"
#: build/C/man2/alloc_hugepages.2:141
msgid ""
"These system calls are gone; they existed only in Linux 2.5.36 through to "
-"2.5.54. Now the hugetlbfs file system can be used instead. Memory backed "
-"by huge pages (if the CPU supports them) is obtained by using B<mmap>(2) to "
-"map files in this virtual file system."
+"2.5.54. Now the hugetlbfs filesystem can be used instead. Memory backed by "
+"huge pages (if the CPU supports them) is obtained by using B<mmap>(2) to "
+"map files in this virtual filesystem."
msgstr ""
"これらのシステムコールはなくなった。 これらは Linux 2.5.36 から 2.5.54 にのみ"
"存在する。 代わりに今は hugetlbfs ファイルシステムを使うことができる。 (CPU "
"ヒュージページの最大数は、 B<hugepages=> 起動パラメータを使って指定できる。"
#. type: SH
-#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:157
-#: build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:207
-#: build/C/man2/madvise.2:379 build/C/man3/mallinfo.3:279
+#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:162
+#: build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:378
+#: build/C/man2/madvise.2:381 build/C/man3/mallinfo.3:279
#: build/C/man3/malloc_get_state.3:114 build/C/man3/malloc_hook.3:142
#: build/C/man3/malloc_info.3:262 build/C/man3/malloc_stats.3:67
#: build/C/man3/malloc_trim.3:82 build/C/man3/malloc_usable_size.3:64
#: build/C/man3/mallopt.3:580 build/C/man3/mcheck.3:208
-#: build/C/man2/mlock.2:336 build/C/man2/mmap.2:737 build/C/man2/mmap2.2:98
+#: build/C/man2/mlock.2:343 build/C/man2/mmap.2:735 build/C/man2/mmap2.2:101
#: build/C/man2/mprotect.2:229 build/C/man2/mremap.2:214
-#: build/C/man2/msync.2:124 build/C/man3/mtrace.3:172
+#: build/C/man2/msync.2:151 build/C/man3/mtrace.3:172
#: build/C/man2/posix_fadvise.2:197 build/C/man3/posix_fallocate.3:133
-#: build/C/man3/posix_memalign.3:275 build/C/man2/readahead.2:103
-#: build/C/man2/remap_file_pages.2:164 build/C/man3/shm_open.3:282
-#: build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:430
-#: build/C/man2/shmget.2:314 build/C/man2/shmop.2:295
+#: build/C/man3/posix_memalign.3:277 build/C/man2/readahead.2:113
+#: build/C/man2/remap_file_pages.2:175 build/C/man3/shm_open.3:282
+#: build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:435
+#: build/C/man2/shmget.2:351 build/C/man2/shmop.2:305
#: build/C/man2/subpage_prot.2:134 build/C/man2/sync_file_range.2:226
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"
#. type: Plain text
-#: build/C/man2/alloc_hugepages.2:157 build/C/man3/alloca.3:164
-#: build/C/man2/cacheflush.2:96 build/C/man2/fallocate.2:214
-#: build/C/man2/madvise.2:386 build/C/man3/mallinfo.3:286
-#: build/C/man3/malloc_get_state.3:121 build/C/man3/malloc_hook.3:149
-#: build/C/man3/malloc_info.3:269 build/C/man3/malloc_stats.3:74
-#: build/C/man3/malloc_trim.3:89 build/C/man3/malloc_usable_size.3:71
-#: build/C/man3/mallopt.3:587 build/C/man3/mcheck.3:215
-#: build/C/man2/mlock.2:343 build/C/man2/mmap.2:744 build/C/man2/mmap2.2:105
-#: build/C/man2/mprotect.2:236 build/C/man2/mremap.2:221
-#: build/C/man2/msync.2:131 build/C/man3/mtrace.3:179
-#: build/C/man2/posix_fadvise.2:204 build/C/man3/posix_fallocate.3:140
-#: build/C/man3/posix_memalign.3:282 build/C/man2/readahead.2:110
-#: build/C/man2/remap_file_pages.2:171 build/C/man3/shm_open.3:289
-#: build/C/man7/shm_overview.7:134 build/C/man2/shmctl.2:437
-#: build/C/man2/shmget.2:321 build/C/man2/shmop.2:302
-#: build/C/man2/subpage_prot.2:141 build/C/man2/sync_file_range.2:233
-msgid ""
-"This page is part of release 3.52 of the Linux I<man-pages> project. A "
-"description of the project, and information about reporting bugs, can be "
-"found at \\%http://www.kernel.org/doc/man-pages/."
-msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.52 の一部\n"
+#: build/C/man2/alloc_hugepages.2:158 build/C/man3/alloca.3:170
+#: build/C/man2/cacheflush.2:97 build/C/man2/fallocate.2:386
+#: build/C/man2/madvise.2:389 build/C/man3/mallinfo.3:287
+#: build/C/man3/malloc_get_state.3:122 build/C/man3/malloc_hook.3:150
+#: build/C/man3/malloc_info.3:270 build/C/man3/malloc_stats.3:75
+#: build/C/man3/malloc_trim.3:90 build/C/man3/malloc_usable_size.3:72
+#: build/C/man3/mallopt.3:588 build/C/man3/mcheck.3:216
+#: build/C/man2/mlock.2:351 build/C/man2/mmap.2:743 build/C/man2/mmap2.2:109
+#: build/C/man2/mprotect.2:237 build/C/man2/mremap.2:222
+#: build/C/man2/msync.2:159 build/C/man3/mtrace.3:180
+#: build/C/man2/posix_fadvise.2:205 build/C/man3/posix_fallocate.3:141
+#: build/C/man3/posix_memalign.3:285 build/C/man2/readahead.2:121
+#: build/C/man2/remap_file_pages.2:183 build/C/man3/shm_open.3:290
+#: build/C/man7/shm_overview.7:135 build/C/man2/shmctl.2:443
+#: build/C/man2/shmget.2:359 build/C/man2/shmop.2:313
+#: build/C/man2/subpage_prot.2:142 build/C/man2/sync_file_range.2:234
+msgid ""
+"This page is part of release 3.67 of the Linux I<man-pages> project. A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
+msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.67 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
#. type: TH
#: build/C/man3/alloca.3:43
-#, fuzzy, no-wrap
-#| msgid "2013-02-12"
-msgid "2013-05-12"
-msgstr "2013-02-12"
+#, no-wrap
+msgid "2013-10-07"
+msgstr "2013-10-07"
#. type: TH
#: build/C/man3/alloca.3:43 build/C/man3/malloc_get_state.3:25
"よってスタックオーバーフローが起った場合の プログラムの動作は定義されていな"
"い。"
+#. type: SH
+#: build/C/man3/alloca.3:65
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/alloca.3:66
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
#. type: Plain text
-#: build/C/man3/alloca.3:67
+#: build/C/man3/alloca.3:70
+msgid "The B<alloca>() function is thread-safe."
+msgstr "B<alloca>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/alloca.3:72
msgid "This function is not in POSIX.1-2001."
msgstr "この関数は POSIX.1-2001 にはない。"
#. type: Plain text
-#: build/C/man3/alloca.3:73
+#: build/C/man3/alloca.3:78
msgid ""
"There is evidence that the B<alloca>() function appeared in 32V, PWB, "
"PWB.2, 3BSD, and 4BSD. There is a man page for it in 4.3BSD. Linux uses "
"は POSIX.1-2001 にはない。"
#. type: Plain text
-#: build/C/man3/alloca.3:88
+#: build/C/man3/alloca.3:93
msgid ""
"The B<alloca>() function is machine- and compiler-dependent. For certain "
-"applications, its use can improve efficiency compared to the use of B<malloc>"
-"(3) plus B<free>(3). In certain cases, it can also simplify memory "
-"deallocation in applications that use B<longjmp>(3) or B<siglongjmp>(3). "
-"Otherwise, its use is discouraged."
+"applications, its use can improve efficiency compared to the use of "
+"B<malloc>(3) plus B<free>(3). In certain cases, it can also simplify "
+"memory deallocation in applications that use B<longjmp>(3) or "
+"B<siglongjmp>(3). Otherwise, its use is discouraged."
msgstr ""
"B<alloca>() 関数は、機種とコンパイラに依存する。 特定のアプリケーションで"
"は、この関数を使うと B<malloc>(3) と B<free>(3) を組み合わせて使った場合に"
"簡単にすることができる。 それ以外の場合では、この関数の使用は推奨されない。"
#. type: Plain text
-#: build/C/man3/alloca.3:97
+#: build/C/man3/alloca.3:102
msgid ""
"Because the space allocated by B<alloca>() is allocated within the stack "
"frame, that space is automatically freed if the function return is jumped "
"ンプした場合には、 割り当てられた空間は自動的に解放される。"
#. type: Plain text
-#: build/C/man3/alloca.3:102
+#: build/C/man3/alloca.3:107
msgid "Do not attempt to B<free>(3) space allocated by B<alloca>()!"
msgstr ""
"B<alloca>() で割り当てられた空間を B<free>(3) しようとすることのないよう"
"に!"
#. type: SS
-#: build/C/man3/alloca.3:102
+#: build/C/man3/alloca.3:107
#, no-wrap
msgid "Notes on the GNU version"
msgstr "GNU 版についての注意"
#. type: Plain text
-#: build/C/man3/alloca.3:124
-#, fuzzy
-#| msgid ""
-#| "Normally, B<gcc>(1) translates calls to B<alloca>() with inlined code. "
-#| "This is not done when either the I<-ansi>, I<-std=c89>, I<-std=c99>, or "
-#| "the I<-fno-builtin> option is given (and the header I<E<lt>alloca.hE<gt>> "
-#| "is not included). But beware! By default the glibc version of "
-#| "I<E<lt>stdlib.hE<gt>> includes I<E<lt>alloca.hE<gt>> and that contains "
-#| "the line:"
+#: build/C/man3/alloca.3:129
msgid ""
"Normally, B<gcc>(1) translates calls to B<alloca>() with inlined code. "
"This is not done when either the I<-ansi>, I<-std=c89>, I<-std=c99>, or the "
"I<-std=c11> option is given B<and> the header I<E<lt>alloca.hE<gt>> is not "
-"included. Otherwise (without an -ansi or -std=c* option) the glibc version "
+"included. Otherwise, (without an -ansi or -std=c* option) the glibc version "
"of I<E<lt>stdlib.hE<gt>> includes I<E<lt>alloca.hE<gt>> and that contains "
"the lines:"
msgstr ""
-"通常 B<gcc>(1) は B<alloca>() の呼び出しをインラインコードに変換する。 I<-"
-"ansi>, I<-std=c89>, I<-std=c99>, I<-fno-builtin> のいずれかのオプションが指定"
-"ã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81ã\81\93ã\81®å¤\89æ\8f\9bã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84 (ã\81¾ã\81\9f I<E<lt>alloca.hE<gt>> ã\81®ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\82\82"
-"行われない)。 だだし、デフォルトでは glibc 版の I<E<lt>stdlib.hE<gt>> は "
-"I<E<lt>alloca.hE<gt>> をインクルードしており、これには以下の行が含まれている"
-"ã\81®ã\81§æ³¨æ\84\8fã\81\99ã\82\8bã\81\93ã\81¨ã\80\82"
+"通常 B<gcc>(1) は B<alloca>() の呼び出しをインラインコードに変換する。 I<-"
+"ansi>, I<-std=c89>, I<-std=c99>, I<-std=c11> のいずれかのオプションが指定さ"
+"ã\82\8cã\80\81B<ã\81\8bã\81¤> I<E<lt>alloca.hE<gt>> ã\81\8cã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81 ã\81\93ã\81®å¤\89æ\8f\9bã\81¯"
+"行われない。 それ以外の場合 (-ansi オプションも -std=c* オプションも指定され"
+"ない場合) には、 glibc 版の I<E<lt>stdlib.hE<gt>> は I<E<lt>alloca.hE<gt>> を"
+"ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\99ã\82\8bã\81\8cã\80\81ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¯ä»¥ä¸\8bã\81®è¡\8cã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81"
#. type: Plain text
-#: build/C/man3/alloca.3:129
-#, fuzzy, no-wrap
-#| msgid " #define alloca(size) __builtin_alloca (size)\n"
+#: build/C/man3/alloca.3:134
+#, no-wrap
msgid ""
" #ifdef __GNUC__\n"
" #define alloca(size) __builtin_alloca (size)\n"
" #endif\n"
-msgstr " #define alloca(size) __builtin_alloca (size)\n"
+msgstr ""
+" #ifdef __GNUC__\n"
+" #define alloca(size) __builtin_alloca (size)\n"
+" #endif\n"
#. type: Plain text
-#: build/C/man3/alloca.3:132
+#: build/C/man3/alloca.3:137
msgid "with messy consequences if one has a private version of this function."
-msgstr "独自版の __builtin_alloca (size) 関数があると厄介な結果になる。"
+msgstr "独自版の __builtin_alloca (size) 関数がある場合、厄介な結果になる。"
#. type: Plain text
-#: build/C/man3/alloca.3:136
+#: build/C/man3/alloca.3:141
msgid ""
"The fact that the code is inlined means that it is impossible to take the "
"address of this function, or to change its behavior by linking with a "
"のライブラリをリンクして動作を変更することはできない。"
#. type: Plain text
-#: build/C/man3/alloca.3:140
+#: build/C/man3/alloca.3:145
msgid ""
"The inlined code often consists of a single instruction adjusting the stack "
"pointer, and does not check for stack overflow. Thus, there is no NULL "
"よって NULL エラーが返されることはない。"
#. type: SH
-#: build/C/man3/alloca.3:140 build/C/man2/cacheflush.2:82
+#: build/C/man3/alloca.3:145 build/C/man2/cacheflush.2:82
#: build/C/man3/mallinfo.3:114 build/C/man3/mallopt.3:406
-#: build/C/man2/mlock.2:304 build/C/man2/mmap.2:587 build/C/man3/mtrace.3:102
-#: build/C/man2/posix_fadvise.2:186 build/C/man2/shmget.2:300
+#: build/C/man2/mlock.2:311 build/C/man2/mmap.2:585 build/C/man3/mtrace.3:102
+#: build/C/man2/posix_fadvise.2:186 build/C/man2/readahead.2:98
+#: build/C/man2/shmget.2:337
#, no-wrap
msgid "BUGS"
msgstr "バグ"
#. type: Plain text
-#: build/C/man3/alloca.3:145
+#: build/C/man3/alloca.3:150
msgid ""
"There is no error indication if the stack frame cannot be extended. "
"(However, after a failed allocation, the program is likely to receive a "
"ようとした場合に B<SIGSEGV> シグナルを受信することだろう。)"
#. type: Plain text
-#: build/C/man3/alloca.3:153
+#: build/C/man3/alloca.3:158
msgid ""
"On many systems B<alloca>() cannot be used inside the list of arguments of "
"a function call, because the stack space reserved by B<alloca>() would "
"使われるスタック領域の中に現れてしまうためである。"
#. type: SH
-#: build/C/man3/alloca.3:153 build/C/man2/fallocate.2:202
-#: build/C/man2/madvise.2:371 build/C/man3/mallinfo.3:270
+#: build/C/man3/alloca.3:158 build/C/man2/fallocate.2:373
+#: build/C/man2/madvise.2:372 build/C/man3/mallinfo.3:270
#: build/C/man3/malloc_get_state.3:111 build/C/man3/malloc_hook.3:137
#: build/C/man3/malloc_info.3:256 build/C/man3/malloc_stats.3:61
#: build/C/man3/malloc_trim.3:78 build/C/man3/malloc_usable_size.3:62
#: build/C/man3/mallopt.3:566 build/C/man3/mcheck.3:204
-#: build/C/man2/mlock.2:329 build/C/man2/mmap.2:712 build/C/man2/mmap2.2:92
+#: build/C/man2/mlock.2:336 build/C/man2/mmap.2:710 build/C/man2/mmap2.2:95
#: build/C/man2/mprotect.2:226 build/C/man2/mremap.2:199
-#: build/C/man2/msync.2:120 build/C/man3/mtrace.3:167
+#: build/C/man2/msync.2:147 build/C/man3/mtrace.3:167
#: build/C/man2/posix_fadvise.2:191 build/C/man3/posix_fallocate.3:128
-#: build/C/man3/posix_memalign.3:270 build/C/man2/readahead.2:97
-#: build/C/man2/remap_file_pages.2:157 build/C/man3/shm_open.3:271
-#: build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:423
-#: build/C/man2/shmget.2:306 build/C/man2/shmop.2:287
+#: build/C/man3/posix_memalign.3:272 build/C/man2/readahead.2:107
+#: build/C/man2/remap_file_pages.2:168 build/C/man3/shm_open.3:271
+#: build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:428
+#: build/C/man2/shmget.2:343 build/C/man2/shmop.2:297
#: build/C/man2/subpage_prot.2:128 build/C/man2/sync_file_range.2:221
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: Plain text
-#: build/C/man3/alloca.3:157
+#: build/C/man3/alloca.3:162
msgid "B<brk>(2), B<longjmp>(3), B<malloc>(3)"
msgstr "B<brk>(2), B<longjmp>(3), B<malloc>(3)"
#. type: TP
#: build/C/man2/cacheflush.2:60 build/C/man2/mmap2.2:62
-#: build/C/man2/mremap.2:142 build/C/man2/shmctl.2:310
+#: build/C/man2/mremap.2:142 build/C/man2/shmctl.2:314
#: build/C/man2/subpage_prot.2:72
#, no-wrap
msgid "B<EFAULT>"
"能ではない。"
#. type: TP
-#: build/C/man2/cacheflush.2:67 build/C/man2/fallocate.2:131
+#: build/C/man2/cacheflush.2:67 build/C/man2/fallocate.2:247
+#: build/C/man2/fallocate.2:259 build/C/man2/fallocate.2:269
+#: build/C/man2/fallocate.2:279 build/C/man2/fallocate.2:287
#: build/C/man2/madvise.2:282 build/C/man3/malloc_info.3:56
#: build/C/man2/mlock.2:157 build/C/man2/mlock.2:164 build/C/man2/mlock.2:176
-#: build/C/man2/mmap.2:423 build/C/man2/mmap.2:431 build/C/man2/mmap.2:436
+#: build/C/man2/mmap.2:421 build/C/man2/mmap.2:429 build/C/man2/mmap.2:434
#: build/C/man2/mmap2.2:65 build/C/man2/mprotect.2:95
#: build/C/man2/mremap.2:151 build/C/man2/msync.2:80
#: build/C/man2/posix_fadvise.2:94 build/C/man3/posix_fallocate.3:81
-#: build/C/man3/posix_memalign.3:156 build/C/man2/readahead.2:76
+#: build/C/man3/posix_memalign.3:158 build/C/man2/readahead.2:77
#: build/C/man2/remap_file_pages.2:132 build/C/man2/remap_file_pages.2:139
-#: build/C/man3/shm_open.3:213 build/C/man2/shmctl.2:324
-#: build/C/man2/shmget.2:199 build/C/man2/shmop.2:200 build/C/man2/shmop.2:223
+#: build/C/man3/shm_open.3:213 build/C/man2/shmctl.2:328
+#: build/C/man2/shmget.2:207 build/C/man2/shmget.2:215
+#: build/C/man2/shmop.2:197 build/C/man2/shmop.2:220
#: build/C/man2/subpage_prot.2:77 build/C/man2/sync_file_range.2:152
#, no-wrap
msgid "B<EINVAL>"
#. type: TH
#: build/C/man2/fallocate.2:11
-#, fuzzy, no-wrap
-#| msgid "2010-06-10"
-msgid "2013-06-10"
-msgstr "2010-06-10"
+#, no-wrap
+msgid "2014-05-08"
+msgstr "2014-05-08"
#. type: Plain text
#: build/C/man2/fallocate.2:14
msgstr "ディスク領域の割り当て"
#. type: Plain text
-#: build/C/man2/fallocate.2:61
+#: build/C/man2/fallocate.2:65
msgid ""
"The default operation (i.e., I<mode> is zero) of B<fallocate>() allocates "
-"and initializes to zero the disk space within the range specified by "
-"I<offset> and I<len>. The file size (as reported by B<stat>(2)) will be "
-"changed if I<offset>+I<len> is greater than the file size. This default "
-"behavior closely resembles the behavior of the B<posix_fallocate>(3) "
-"library function, and is intended as a method of optimally implementing that "
-"function."
-msgstr ""
-"B<fallocate>() のデフォルトの動作 (つまり I<mode> が 0 の場合) は、\n"
-"I<offset> と I<len> で指定された範囲のディスク領域の割り当てと初期化を行"
-"う。\n"
-"I<offset>+I<len> がファイルサイズよりも大きかった場合、\n"
-"(B<stat>(2) で報告される) ファイルサイズが変更される。このデフォルトの動作"
-"は、\n"
-"ライブラリ関数 B<posix_fallocate>(3) の動作と非常に似ている。これは、\n"
-"このシステムコールが B<posix_fallocate>(3) を最適に実装する手段を提供する\n"
-"ことを目的としているからである。"
-
-#. type: Plain text
-#: build/C/man2/fallocate.2:67
+"the disk space within the range specified by I<offset> and I<len>. The file "
+"size (as reported by B<stat>(2)) will be changed if I<offset>+I<len> is "
+"greater than the file size. Any subregion within the range specified by "
+"I<offset> and I<len> that did not contain data before the call will be "
+"initialized to zero. This default behavior closely resembles the behavior "
+"of the B<posix_fallocate>(3) library function, and is intended as a method "
+"of optimally implementing that function."
+msgstr ""
+"B<fallocate>() のデフォルトの動作 (つまり I<mode> が 0 の場合) は、 "
+"I<offset> と I<len> で指定された範囲のディスク領域の割り当てを行う。 "
+"I<offset>+I<len> がファイルサイズよりも大きかった場合、 (B<stat>(2) で報告さ"
+"れる) ファイルサイズが変更される。 I<offset> と I<len> で指定される範囲のサブ"
+"領域で、 呼び出し前にデータを保持していなかった場合、そのサブ領域は 0 で初期"
+"化される。 このデフォルトの動作は、 ライブラリ関数 B<posix_fallocate>(3) の動"
+"作と非常に似ている。 これは、 このシステムコールが B<posix_fallocate>(3) を最"
+"適に実装する手段を提供することを目的としているからである。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:71
msgid ""
"After a successful call, subsequent writes into the range specified by "
"I<offset> and I<len> are guaranteed not to fail because of lack of disk "
"ディスクの領域不足での書き込み失敗が起こらないことが保証される。"
#. type: Plain text
-#: build/C/man2/fallocate.2:78
+#: build/C/man2/fallocate.2:82
msgid ""
"If the B<FALLOC_FL_KEEP_SIZE> flag is specified in I<mode>, the behavior of "
"the call is similar, but the file size will not be changed even if I<offset>"
"追記を最適化したい場合に役に立つ。"
#. type: Plain text
-#: build/C/man2/fallocate.2:82
+#: build/C/man2/fallocate.2:86
msgid ""
"Because allocation is done in block size chunks, B<fallocate>() may "
"allocate a larger range of disk space than was specified."
"も大きなディスク領域を割り当てることがある。"
#. type: SS
-#: build/C/man2/fallocate.2:82
+#: build/C/man2/fallocate.2:86
#, no-wrap
msgid "Deallocating file space"
msgstr "ファイル空間の割り当て解除"
#. type: Plain text
-#: build/C/man2/fallocate.2:97
+#: build/C/man2/fallocate.2:101
msgid ""
"Specifying the B<FALLOC_FL_PUNCH_HOLE> flag (available since Linux 2.6.38) "
"in I<mode> deallocates space (i.e., creates a hole) in the byte range "
"starting at I<offset> and continuing for I<len> bytes. Within the specified "
-"range, partial file system blocks are zeroed, and whole file system blocks "
-"are removed from the file. After a successful call, subsequent reads from "
-"this range will return zeroes."
+"range, partial filesystem blocks are zeroed, and whole filesystem blocks are "
+"removed from the file. After a successful call, subsequent reads from this "
+"range will return zeroes."
msgstr ""
"B<FALLOC_FL_PUNCH_HOLE> フラグ (Linux 2.6.38 以降で利用可能) を I<mode> に指"
"定すると、 I<offset> で始まる I<len> バイトの領域の空間を解放する (ホールを作"
"を返す。"
#. type: Plain text
-#: build/C/man2/fallocate.2:108
+#: build/C/man2/fallocate.2:112
msgid ""
"The B<FALLOC_FL_PUNCH_HOLE> flag must be ORed with B<FALLOC_FL_KEEP_SIZE> in "
"I<mode>; in other words, even when punching off the end of the file, the "
"行った場合でも、 (B<stat>(2) で報告される) ファイルサイズが変化しない。"
#. type: Plain text
-#: build/C/man2/fallocate.2:112
+#: build/C/man2/fallocate.2:117
msgid ""
-"Not all file systems support B<FALLOC_FL_PUNCH_HOLE>; if a file system "
-"doesn't support the operation, an error is returned."
+"Not all filesystems support B<FALLOC_FL_PUNCH_HOLE>; if a filesystem doesn't "
+"support the operation, an error is returned. The operation is supported on "
+"at least the following filesystems:"
msgstr ""
"すべてのファイルシステムで B<FALLOC_FL_PUNCH_HOLE> がサポートされているわけで"
"はない。 ファイルシステムがこの操作をサポートしていない場合は、 エラーが返"
-"る。"
+"る。 この操作は少なくとも以下のファイルシステムでサポートされている。"
+
+#. type: IP
+#: build/C/man2/fallocate.2:117 build/C/man2/fallocate.2:119
+#: build/C/man2/fallocate.2:122 build/C/man2/fallocate.2:124
+#: build/C/man2/fallocate.2:222 build/C/man2/fallocate.2:225
+#: build/C/man2/madvise.2:286 build/C/man2/madvise.2:292
+#: build/C/man2/madvise.2:295 build/C/man2/madvise.2:298
+#: build/C/man2/madvise.2:301 build/C/man3/mallopt.3:235
+#: build/C/man3/mallopt.3:241 build/C/man2/shmop.2:62 build/C/man2/shmop.2:68
+#: build/C/man2/shmop.2:80
+#, no-wrap
+msgid "*"
+msgstr "*"
#. type: Plain text
#: build/C/man2/fallocate.2:119
+msgid "XFS (since Linux 2.6.38)"
+msgstr "XFS (Linux 2.6.38 以降)"
+
+#. commit a4bb6b64e39abc0e41ca077725f2a72c868e7622
+#. type: Plain text
+#: build/C/man2/fallocate.2:122
+msgid "ext4 (since Linux 3.0)"
+msgstr "ext4 (Linux 3.0 以降)"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:124
+msgid "Btrfs (since Linux 3.7)"
+msgstr "Btrfs (Linux 3.7 以降)"
+
+#. commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe
+#. type: Plain text
+#: build/C/man2/fallocate.2:127
+msgid "tmpfs (since Linux 3.5)"
+msgstr "tmpfs (Linux 3.5 以降)"
+
+#. type: SS
+#: build/C/man2/fallocate.2:127
+#, no-wrap
+msgid "Collapsing file space"
+msgstr "ファイル空間の一部削除"
+
+#. commit 00f5e61998dd17f5375d9dfc01331f104b83f841
+#. type: Plain text
+#: build/C/man2/fallocate.2:147
+msgid ""
+"Specifying the B<FALLOC_FL_COLLAPSE_RANGE> flag (available since Linux 3.15) "
+"in I<mode> removes a byte range from a file, without leaving a hole. The "
+"byte range to be collapsed starts at I<offset> and continues for I<len> "
+"bytes. At the completion of the operation, the contents of the file "
+"starting at the location I<offset+len> will be appended at the location "
+"I<offset>, and the file will be I<len> bytes smaller."
+msgstr ""
+"B<FALLOC_FL_COLLAPSE_RANGE> フラグ (Linux 3.15 以降で利用可能) を I<mode> に"
+"指定すると、 指定したバイト範囲をファイルから削除する。 その際、ホールを残ら"
+"ない。 削除されるバイト範囲は I<offset> から始まる I<len> バイトの範囲であ"
+"る。 操作が完了すると、 ファイルの I<offset+len> の位置から始まる内容が "
+"I<offset> の位置に見えるようになり、 ファイルのサイズは I<len> バイトだけ小さ"
+"くなる。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:161
+msgid ""
+"A filesystem may place limitations on the granularity of the operation, in "
+"order to ensure efficient implementation. Typically, I<offset> and I<len> "
+"must be a multiple of the filesystem logical block size, which varies "
+"according to the filesystem type and configuration. If a filesystem has "
+"such a requirement, B<fallocate>() will fail with the error B<EINVAL> if "
+"this requirement is violated."
+msgstr ""
+"効率的に動作する実装にするため、ファイルシステムはこの操作の粒度に制限を設け"
+"ることがある。 通常は I<offset> と I<len> はファイルシステムの論理ブロックサ"
+"イズの倍数でなければならない。 論理ブロックサイズはファイルシステムの種類や設"
+"定により様々である。 ファイルシステムにこのような要求条件がある場合、 その要"
+"求条件が満たされていなければ、 B<fallocate> はエラー B<EINVAL> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:170
+msgid ""
+"If the region specified by I<offset> plus I<len> reaches or passes the end "
+"of file, an error is returned; instead, use B<ftruncate>(2) to truncate a "
+"file."
+msgstr ""
+"I<offset> と I<len> で指定された範囲がファイルの末尾かそれより先まで達してい"
+"る場合、 エラーが返される。 代わりに、ファイルの切り詰めを行う "
+"B<ftruncate>(2) を使用すること。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:175
+msgid ""
+"No other flags may be specified in I<mode> in conjunction with "
+"B<FALLOC_FL_COLLAPSE_RANGE>."
+msgstr ""
+"B<FALLOC_FL_COLLAPSE_RANGE> と他のフラグを同時に I<mode> に指定することはでき"
+"ない。"
+
+#. commit 9eb79482a97152930b113b51dff530aba9e28c8e
+#. commit e1d8fb88a64c1f8094b9f6c3b6d2d9e6719c970d
+#. type: Plain text
+#: build/C/man2/fallocate.2:183
+msgid ""
+"As at Linux 3.15, B<FALLOC_FL_COLLAPSE_RANGE> is supported by ext4 (only for "
+"extent-based files) and XFS."
+msgstr ""
+"Linux 3.15 時点では B<FALLOC_FL_COLLAPSE_RANGE> は ext4 (エクステントベースの"
+"ファイル) と XFS でサポートされている。"
+
+#. type: SS
+#: build/C/man2/fallocate.2:183
+#, fuzzy, no-wrap
+#| msgid "Deallocating file space"
+msgid "Zeroing file space"
+msgstr "ファイル空間の割り当て解除"
+
+#. commit 409332b65d3ed8cfa7a8030f1e9d52f372219642
+#. type: Plain text
+#: build/C/man2/fallocate.2:199
#, fuzzy
#| msgid ""
-#| "On success, B<sync_file_range>() returns 0; on failure -1 is returned "
-#| "and I<errno> is set to indicate the error."
+#| "Specifying the B<FALLOC_FL_PUNCH_HOLE> flag (available since Linux "
+#| "2.6.38) in I<mode> deallocates space (i.e., creates a hole) in the byte "
+#| "range starting at I<offset> and continuing for I<len> bytes. Within the "
+#| "specified range, partial filesystem blocks are zeroed, and whole "
+#| "filesystem blocks are removed from the file. After a successful call, "
+#| "subsequent reads from this range will return zeroes."
+msgid ""
+"Specifying the B<FALLOC_FL_ZERO_RANGE> flag (available since Linux 3.14) in "
+"I<mode> zeroes space in the byte range starting at I<offset> and continuing "
+"for I<len> bytes. Within the specified range, blocks are preallocated for "
+"the regions that span the holes in the file. After a successful call, "
+"subsequent reads from this range will return zeroes."
+msgstr ""
+"B<FALLOC_FL_PUNCH_HOLE> フラグ (Linux 2.6.38 以降で利用可能) を I<mode> に指"
+"定すると、 I<offset> で始まる I<len> バイトの領域の空間を解放する (ホールを作"
+"成する)。 指定された範囲のうち、 部分的に使用しているファイルシステムブロック"
+"は 0 で埋められ、 全体を使用しているファイルシステムブロックはそのファイルか"
+"ら削除される。 呼び出しが成功すると、 これ以降のこの範囲からの読み出しでは 0 "
+"を返す。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:205
+msgid ""
+"Zeroing is done within the filesystem preferably by converting the range "
+"into unwritten extents. This approach means that the specified range will "
+"not be physically zeroed out on the device (except for partial blocks at the "
+"either end of the range), and I/O is (otherwise) required only to update "
+"metadata."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:217
+#, fuzzy
+#| msgid ""
+#| "If the B<FALLOC_FL_KEEP_SIZE> flag is specified in I<mode>, the behavior "
+#| "of the call is similar, but the file size will not be changed even if "
+#| "I<offset>+I<len> is greater than the file size. Preallocating zeroed "
+#| "blocks beyond the end of the file in this manner is useful for optimizing "
+#| "append workloads."
+msgid ""
+"If the B<FALLOC_FL_KEEP_SIZE> flag is additionally specified in I<mode>, the "
+"behavior of the call is similar, but the file size will not be changed even "
+"if I<offset>+I<len> is greater than the file size. This behaviour is the "
+"same as when preallocating space with B<FALLOC_FL_KEEP_SIZE> specified."
+msgstr ""
+"B<FALLOC_FL_KEEP_SIZE> フラグが I<mode> に指定された場合、このシステムコー"
+"ル\n"
+"の動作は似ているが、 I<offset>+I<len> がファイルサイズよりも大きい場合で\n"
+"あってもファイルサイズは変更されない点が異なる。この場合のファイルの末尾\n"
+"よりも後ろの前もって割り当てられた 0 で埋められたブロックは、ファイルへの\n"
+"追記を最適化したい場合に役に立つ。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:222
+msgid ""
+"Not all filesystems support B<FALLOC_FL_ZERO_RANGE>; if a filesystem doesn't "
+"support the operation, an error is returned. The operation is supported on "
+"at least the following filesystems:"
+msgstr "すべてのファイルシステムで B<FALLOC_FL_ZERO_RANGE> がサポートされているわけではない。 ファイルシステムがこの操作をサポートしていない場合は、 エラーが返る。 この操作は少なくとも以下のファイルシステムでサポートされている。"
+
+#. commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa
+#. type: Plain text
+#: build/C/man2/fallocate.2:225
+msgid "XFS (since Linux 3.14)"
+msgstr "XFS (Linux 3.14 以降)"
+
+#. commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0
+#. type: Plain text
+#: build/C/man2/fallocate.2:228
+#, fuzzy
+#| msgid "ext4 (since Linux 3.0)"
+msgid "ext4, for extent-based files (since Linux 3.14)"
+msgstr "ext4 (Linux 3.0 以降)"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:235
msgid ""
"On success, B<fallocate>() returns zero. On error, -1 is returned and "
"I<errno> is set to indicate the error."
msgstr ""
-"成功の場合、 B<sync_file_range>() は 0 を返す。失敗の場合、-1 を返し、 "
-"I<error> にエラーを示す値を設定する。"
+"成功の場合、 B<fallocate>() は 0 を返す。 エラーの場合、-1 を返し、 I<error> "
+"にエラーを示す値を設定する。"
#. type: TP
-#: build/C/man2/fallocate.2:120 build/C/man2/madvise.2:279
-#: build/C/man2/mmap.2:417 build/C/man2/posix_fadvise.2:91
-#: build/C/man3/posix_fallocate.3:73 build/C/man2/readahead.2:72
+#: build/C/man2/fallocate.2:236 build/C/man2/madvise.2:279
+#: build/C/man2/mmap.2:415 build/C/man2/posix_fadvise.2:91
+#: build/C/man3/posix_fallocate.3:73 build/C/man2/readahead.2:73
#: build/C/man2/sync_file_range.2:148
#, no-wrap
msgid "B<EBADF>"
msgstr "B<EBADF>"
#. type: Plain text
-#: build/C/man2/fallocate.2:124 build/C/man3/posix_fallocate.3:77
+#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77
msgid "I<fd> is not a valid file descriptor, or is not opened for writing."
msgstr ""
"I<fd> が有効なファイルディスクリプタでないか、 書き込み用としてオープンされて"
"いない。"
#. type: TP
-#: build/C/man2/fallocate.2:124 build/C/man3/posix_fallocate.3:77
+#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77
#, no-wrap
msgid "B<EFBIG>"
msgstr "B<EFBIG>"
#. type: Plain text
-#: build/C/man2/fallocate.2:128
+#: build/C/man2/fallocate.2:244
msgid "I<offset>+I<len> exceeds the maximum file size."
msgstr "I<offset + len> がファイルサイズの最大値よりも大きい。"
#. type: TP
-#: build/C/man2/fallocate.2:128
+#: build/C/man2/fallocate.2:244
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
#. type: Plain text
-#: build/C/man2/fallocate.2:131
+#: build/C/man2/fallocate.2:247
msgid "A signal was caught during execution."
msgstr "実行中にシグナルが捕捉された。"
#. type: Plain text
-#: build/C/man2/fallocate.2:143 build/C/man3/posix_fallocate.3:87
+#: build/C/man2/fallocate.2:259 build/C/man3/posix_fallocate.3:87
msgid "I<offset> was less than 0, or I<len> was less than or equal to 0."
msgstr "I<offset> が 0 未満だったか、 I<len> が 0 以下だった。"
+#. type: Plain text
+#: build/C/man2/fallocate.2:269
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE> and the range specified by I<offset> "
+"plus I<len> reaches or passes the end of the file."
+msgstr ""
+"I<mode> が B<FALLOC_FL_COLLAPSE_RANGE> で、 I<offset> と I<len> で指定された"
+"範囲がファイルの末尾かそれより先まで達している。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:279
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE>, but either I<offset> or I<len> is "
+"not a multiple of the filesystem block size."
+msgstr ""
+"I<mode> が B<FALLOC_FL_COLLAPSE_RANGE> だが、 I<offset> か I<len> のいずれか"
+"がファイルシステムのブロックサイズの倍数ではない。"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:287
+msgid ""
+"I<mode> contains both B<FALLOC_FL_COLLAPSE_RANGE> and other flags; no other "
+"flags are permitted with B<FALLOC_FL_COLLAPSE_RANGE>."
+msgstr ""
+"I<mode> に B<FALLOC_FL_COLLAPSE_RANGE> と他のフラグの両方が指定されている。 "
+"B<FALLOC_FL_COLLAPSE_RANGE> と他のフラグを一緒に使うことができない。"
+
+#. There was a inconsistency in 3.15-rc1, that should be resolved so that all
+#. filesystems use this error for this case. (Tytso says ex4 will change.)
+#. http://thread.gmane.org/gmane.comp.file-systems.xfs.general/60485/focus=5521
+#. From: Michael Kerrisk (man-pages <mtk.manpages@...>
+#. Subject: Re: [PATCH v5 10/10] manpage: update FALLOC_FL_COLLAPSE_RANGE flag in fallocate
+#. Newsgroups: gmane.linux.man, gmane.linux.file-systems
+#. Date: 2014-04-17 13:40:05 GMT
+#. type: Plain text
+#: build/C/man2/fallocate.2:304
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE> or B<FALLOC_FL_ZERO_RANGE>, but the "
+"file referred to by I<fd> is not a regular file."
+msgstr "I<mode> が B<FALLOC_FL_COLLAPSE_RANGE> か B<FALLOC_FL_ZERO_RANGE> だが、 I<fd> が参照しているファイルが通常のファイルではない。"
+
#. type: TP
-#: build/C/man2/fallocate.2:143 build/C/man2/madvise.2:310
+#: build/C/man2/fallocate.2:304 build/C/man2/madvise.2:310
#: build/C/man2/sync_file_range.2:160
#, no-wrap
msgid "B<EIO>"
msgstr "B<EIO>"
#. type: Plain text
-#: build/C/man2/fallocate.2:146
-msgid "An I/O error occurred while reading from or writing to a file system."
+#: build/C/man2/fallocate.2:307
+msgid "An I/O error occurred while reading from or writing to a filesystem."
msgstr "ファイルシステムとの読み書き中に入出力エラーが発生した。"
#. type: TP
-#: build/C/man2/fallocate.2:146 build/C/man2/mmap.2:452
+#: build/C/man2/fallocate.2:307 build/C/man2/mmap.2:450
#: build/C/man3/posix_fallocate.3:87
#, no-wrap
msgid "B<ENODEV>"
msgstr "B<ENODEV>"
#. type: Plain text
-#: build/C/man2/fallocate.2:153
+#: build/C/man2/fallocate.2:314
msgid ""
"I<fd> does not refer to a regular file or a directory. (If I<fd> is a pipe "
"or FIFO, a different error results.)"
"を参照している場合、別のエラーが発生する)。"
#. type: TP
-#: build/C/man2/fallocate.2:153 build/C/man3/posix_fallocate.3:91
-#: build/C/man2/shmget.2:217 build/C/man2/sync_file_range.2:166
+#: build/C/man2/fallocate.2:314 build/C/man3/posix_fallocate.3:91
+#: build/C/man2/shmget.2:234 build/C/man2/sync_file_range.2:166
#, no-wrap
msgid "B<ENOSPC>"
msgstr "B<ENOSPC>"
#. type: Plain text
-#: build/C/man2/fallocate.2:158 build/C/man3/posix_fallocate.3:96
+#: build/C/man2/fallocate.2:319 build/C/man3/posix_fallocate.3:96
msgid ""
"There is not enough space left on the device containing the file referred to "
"by I<fd>."
msgstr "I<fd> が参照するファイルを含むデバイスに十分な空き領域がない。"
#. type: Plain text
-#: build/C/man2/fallocate.2:162
+#: build/C/man2/fallocate.2:323
msgid "This kernel does not implement B<fallocate>()."
msgstr "このカーネルでは B<fallocate>() は実装されていない。"
#. type: TP
-#: build/C/man2/fallocate.2:162
+#: build/C/man2/fallocate.2:323
#, no-wrap
msgid "B<EOPNOTSUPP>"
msgstr "B<EOPNOTSUPP>"
#. type: Plain text
-#: build/C/man2/fallocate.2:171
+#: build/C/man2/fallocate.2:332
msgid ""
-"The file system containing the file referred to by I<fd> does not support "
-"this operation; or the I<mode> is not supported by the file system "
-"containing the file referred to by I<fd>."
+"The filesystem containing the file referred to by I<fd> does not support "
+"this operation; or the I<mode> is not supported by the filesystem containing "
+"the file referred to by I<fd>."
msgstr ""
"I<fd> が参照するファイルを含むファイルシステムが 指定された操作を\n"
"サポートしていない。 I<fd> が参照するファイルを含むファイルシステムが\n"
"I<mode> をサポートしていない。"
#. type: TP
-#: build/C/man2/fallocate.2:171 build/C/man2/mlock.2:143
-#: build/C/man2/mlock.2:182 build/C/man2/mmap.2:460 build/C/man2/shmctl.2:349
-#: build/C/man2/shmget.2:225
+#: build/C/man2/fallocate.2:332 build/C/man2/mlock.2:143
+#: build/C/man2/mlock.2:182 build/C/man2/mmap.2:458 build/C/man2/shmctl.2:353
+#: build/C/man2/shmget.2:242
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
#. type: Plain text
-#: build/C/man2/fallocate.2:187
+#: build/C/man2/fallocate.2:350
msgid ""
"The file referred to by I<fd> is marked immutable (see B<chattr>(1)). Or: "
-"I<mode> specifies B<FALLOC_FL_PUNCH_HOLE> and the file referred to by I<fd> "
-"is marked append-only (see B<chattr>(1))."
+"I<mode> specifies B<FALLOC_FL_PUNCH_HOLE> or B<FALLOC_FL_COLLAPSE_RANGE> and "
+"the file referred to by I<fd> is marked append-only (see B<chattr>(1))."
msgstr ""
-"I<fd> が参照するファイルに変更不可 (immutable) の属性が付いている (B<chattr>"
-"(1) 参照)。 I<mode> に B<FALLOC_FL_PUNCH_HOLE> が指定されたが、 I<fd> が参照"
-"するファイルに追加のみ (append-only) の属性が付いている (B<chattr>(1) 参照)。"
+"I<fd> が参照するファイルに変更不可 (immutable) の属性が付いている "
+"(B<chattr>(1) 参照)。 I<mode> に B<FALLOC_FL_PUNCH_HOLE> か "
+"B<FALLOC_FL_COLLAPSE_RANGE> が指定されたが、 I<fd> が参照するファイルに追加の"
+"み (append-only) の属性が付いている (B<chattr>(1) 参照)。"
#. type: TP
-#: build/C/man2/fallocate.2:187 build/C/man2/posix_fadvise.2:97
+#: build/C/man2/fallocate.2:350 build/C/man2/posix_fadvise.2:97
#: build/C/man3/posix_fallocate.3:96 build/C/man2/sync_file_range.2:169
#, no-wrap
msgid "B<ESPIPE>"
msgstr "B<ESPIPE>"
#. type: Plain text
-#: build/C/man2/fallocate.2:191
+#: build/C/man2/fallocate.2:354
msgid "I<fd> refers to a pipe or FIFO."
msgstr "I<fd> がパイプか FIFO を参照している。"
+#. type: TP
+#: build/C/man2/fallocate.2:354 build/C/man2/mmap.2:467
+#, no-wrap
+msgid "B<ETXTBSY>"
+msgstr "B<ETXTBSY>"
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:362
+msgid ""
+"I<mode> specifies B<FALLOC_FL_COLLAPSE_RANGE>, but the file referred to by "
+"I<fd> is currently being executed."
+msgstr ""
+"I<mode> に B<FALLOC_FL_COLLAPSE_RANGE> が指定されたが、 I<fd> が参照するファ"
+"イルは現在実行中である。"
+
#. type: SH
-#: build/C/man2/fallocate.2:191 build/C/man3/malloc_info.3:60
+#: build/C/man2/fallocate.2:362 build/C/man3/malloc_info.3:60
#: build/C/man3/mcheck.3:134 build/C/man2/mmap2.2:74
#: build/C/man2/posix_fadvise.2:104 build/C/man3/posix_fallocate.3:100
-#: build/C/man3/posix_memalign.3:165 build/C/man2/readahead.2:82
+#: build/C/man3/posix_memalign.3:167 build/C/man2/readahead.2:83
#: build/C/man2/remap_file_pages.2:148 build/C/man3/shm_open.3:249
#: build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:177
#, no-wrap
#. See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
#. type: Plain text
-#: build/C/man2/fallocate.2:199
+#: build/C/man2/fallocate.2:370
msgid ""
"B<fallocate>() is available on Linux since kernel 2.6.23. Support is "
"provided by glibc since version 2.10. The B<FALLOC_FL_*> flags are defined "
"ファイルで定義されているのは、バージョン 2.18 以降のみである。"
#. type: Plain text
-#: build/C/man2/fallocate.2:202
+#: build/C/man2/fallocate.2:373
msgid "B<fallocate>() is Linux-specific."
msgstr "B<fallocate>() は Linux 固有である。"
#. type: Plain text
-#: build/C/man2/fallocate.2:207
+#: build/C/man2/fallocate.2:378
msgid ""
"B<fallocate>(1), B<ftruncate>(2), B<posix_fadvise>(3), B<posix_fallocate>(3)"
msgstr ""
msgstr "MADVISE"
#. type: TH
-#: build/C/man2/madvise.2:35
+#: build/C/man2/madvise.2:35 build/C/man2/msync.2:25
#, no-wrap
-msgid "2012-04-28"
-msgstr "2012-04-28"
+msgid "2014-04-20"
+msgstr "2014-04-20"
#. type: Plain text
#: build/C/man2/madvise.2:38
#. type: TP
#: build/C/man2/madvise.2:100
#, no-wrap
-msgid "B<MADV_REMOVE> (Since Linux 2.6.16)"
+msgid "B<MADV_REMOVE> (since Linux 2.6.16)"
msgstr "B<MADV_REMOVE> (Linux 2.6.16 以降)"
#. 2.6.18-rc5
#: build/C/man2/madvise.2:113
msgid ""
"Free up a given range of pages and its associated backing store. Currently, "
-"only shmfs/tmpfs supports this; other file systems return with the error "
+"only shmfs/tmpfs supports this; other filesystems return with the error "
"B<ENOSYS>."
msgstr ""
"指定された範囲のページと関連するバッキングストアを解放する。 現在のところ、 "
#. type: TP
#: build/C/man2/madvise.2:113
#, no-wrap
-msgid "B<MADV_DONTFORK> (Since Linux 2.6.16)"
+msgid "B<MADV_DONTFORK> (since Linux 2.6.16)"
msgstr "B<MADV_DONTFORK> (Linux 2.6.16 以降)"
#. See http://lwn.net/Articles/171941/
#. type: Plain text
#: build/C/man2/madvise.2:144
msgid ""
-"Do not make the pages in this range available to the child after a B<fork>"
-"(2). This is useful to prevent copy-on-write semantics from changing the "
-"physical location of a page(s) if the parent writes to it after a B<fork>"
-"(2). (Such page relocations cause problems for hardware that DMAs into the "
-"page(s).)"
+"Do not make the pages in this range available to the child after a "
+"B<fork>(2). This is useful to prevent copy-on-write semantics from changing "
+"the physical location of a page(s) if the parent writes to it after a "
+"B<fork>(2). (Such page relocations cause problems for hardware that DMAs "
+"into the page(s).)"
msgstr ""
"B<fork>(2) が行われた後、指定された範囲のページを子プロセスが利用できないよ"
"うにする。 この機能は、書き込み時コピー (copy-on-write) 方式で、 B<fork>(2) "
#. type: TP
#: build/C/man2/madvise.2:144
#, no-wrap
-msgid "B<MADV_DOFORK> (Since Linux 2.6.16)"
+msgid "B<MADV_DOFORK> (since Linux 2.6.16)"
msgstr "B<MADV_DOFORK> (Linux 2.6.16 以降)"
#. type: Plain text
"Undo the effect of B<MADV_DONTFORK>, restoring the default behavior, whereby "
"a mapping is inherited across B<fork>(2)."
msgstr ""
-"B<MADV_DONTFORK> の影響を取り消し、デフォルトの動作に戻す。 つまり、 B<fork>"
-"(2) の前後でマッピングは継承されるようになる。"
+"B<MADV_DONTFORK> の影響を取り消し、デフォルトの動作に戻す。 つまり、 "
+"B<fork>(2) の前後でマッピングは継承されるようになる。"
#. type: TP
#: build/C/man2/madvise.2:150
#, no-wrap
-msgid "B<MADV_HWPOISON> (Since Linux 2.6.32)"
+msgid "B<MADV_HWPOISON> (since Linux 2.6.32)"
msgstr "B<MADV_HWPOISON> (Linux 2.6.32 以降)"
#. type: Plain text
"error-handling code; it is available only if the kernel was configured with "
"B<CONFIG_MEMORY_FAILURE>."
msgstr ""
+"ページに毒入れを行い、ハードウェアメモリの破損のようにそのページを取り扱う。 "
+"この操作は特権 (B<CAP_SYS_ADMIN> を持った) プロセスだけが利用できる。 この操"
+"作の結果、呼び出したプロセスは B<SIGBUS> を受け取り、そのページはアンマップさ"
+"れる。 この機能はメモリのエラー処理コードをテストするためのものである。 カー"
+"ネルで B<CONFIG_MEMORY_FAILURE> が有効になっている場合にのみ利用可能である。"
#. type: TP
#: build/C/man2/madvise.2:162
#, no-wrap
-msgid "B<MADV_SOFT_OFFLINE> (Since Linux 2.6.33)"
+msgid "B<MADV_SOFT_OFFLINE> (since Linux 2.6.33)"
msgstr "B<MADV_SOFT_OFFLINE> (Linux 2.6.33 以降)"
#. type: Plain text
"handling code; it is available only if the kernel was configured with "
"B<CONFIG_MEMORY_FAILURE>."
msgstr ""
+"I<addr> と I<length> で指定された範囲のページをソフトオフラインにする。 指定"
+"された範囲の各ページのメモリの内容は保持され (すなわち、次にアクセスされた際"
+"に、同じ内容が見えるが、新しい物理ページフレームになる)、 元のフレームはオフ"
+"ラインになる (すなわち、 そのフレームは使用される、通常のメモリ管理からは取り"
+"除かれる)。 B<MADV_SOFT_OFFLINE> 操作の影響は呼び出したプロセスには見えない "
+"(つまり呼び出したプロセスの動作は変化しない)。 この機能はメモリのエラー処理"
+"コードをテストすることを目的に作られた。 カーネルで B<CONFIG_MEMORY_FAILURE> "
+"が有効になっている場合にのみ利用可能である。"
#. type: TP
#: build/C/man2/madvise.2:180
"B<MADV_UNMERGEABLE> operations are available only if the kernel was "
"configured with B<CONFIG_KSM>."
msgstr ""
+"Kernel Samepage Merging (KSM; カーネルによる同じページの統合) を I<addr> と "
+"I<length> で指定された領域に対して有効にする。 カーネルは、 統合可能の印がつ"
+"いたユーザーメモリの領域を定期的にスキャンし、内容が全く同じページを探す。 内"
+"容が全く同じページがあれば、それらのページは書き込み保護 (write-protected) が"
+"かかった一つのページで置き換えられる (プロセスが後でページの内容を更新しよう"
+"とした際には自動的にページのコピーが行われる)。 KSM はプライベートな無名ペー"
+"ジ (anonymous pages) だけを統合する (B<mmap>(2) 参照)。 KSM 機能は、 同じデー"
+"タのインスタンスを大量に生成するアプリケーション (KVM などの仮想化システム) "
+"での利用を想定している。 この機能はプロセッシング能力を大量に消費する場合があ"
+"り、注意して使用すること。 詳細は Linux カーネルソースファイル "
+"I<Documentation/vm/ksm.txt> を参照。 B<MADV_MERGEABLE> と "
+"B<MADV_UNMERGEABLE> は、 カーネルで B<CONFIG_KSM> オプションを有効になってい"
+"る場合にのみ利用できる。"
#. type: TP
#: build/C/man2/madvise.2:205
"address range; KSM unmerges whatever pages it had merged in the address "
"range specified by I<addr> and I<length>."
msgstr ""
+"指定されたアドレス範囲に関して、それ以前に行われた B<MADV_MERGEABLE> 操作の効"
+"果を取り消す。 KSM は、 I<addr> と I<length> で指定されたアドレス範囲の統合"
+"済みのすべてのページの統合解除を行う。"
#. type: TP
#: build/C/man2/madvise.2:214
"B<MADV_NOHUGEPAGE> operations are available only if the kernel was "
"configured with B<CONFIG_TRANSPARENT_HUGEPAGE>."
msgstr ""
+"Transparent Huge Pages (THP) を I<addr> と I<length> で指定された領域に対して"
+"有効にする。 現在のところ、Transparent Huge Pages はプライベートな無名ページ "
+"(anonymous pages) についてのみ機能する。 カーネルは定期的にヒュージページ "
+"(huge page) 候補の印がついたページをスキャンし、ヒュージページと置き換える。 "
+"また、カーネルはその領域がヒュージページのサイズに合っている場合、ヒュージ"
+"ページを直接割り当てる (B<posix_memalign>(2) 参照)。 この機能は、大きなデータ"
+"マッピングを使用し、一度にそのメモリの大きな範囲にアクセスするようなアプリ"
+"ケーション (例えば QEMU のような仮想化システム) で使うことを主に想定されてい"
+"る。 この機能は非常に簡単にメモリを浪費してしまう (例えば、1 バイトしかアクセ"
+"スしない 2MB のマッピングが、 4KB ページではなく 2MB の実際のメモリを使ってし"
+"まう)。 詳細は Linux カーネルソースファイル I<Documentation/vm/transhuge."
+"txt> を参照。 B<MADV_HUGEPAGE> と B<MADV_NOHUGEPAGE> は、 カーネルで "
+"B<CONFIG_TRANSPARENT_HUGEPAGE> オプションを有効になっている場合にのみ利用でき"
+"る。"
#. type: TP
#: build/C/man2/madvise.2:243
"Ensures that memory in the address range specified by I<addr> and I<length> "
"will not be collapsed into huge pages."
msgstr ""
+"I<addr> と I<length> で指定されたアドレス範囲のメモリがヒュージページに組み込"
+"まれないようにする。"
#. type: TP
#: build/C/man2/madvise.2:250
"B<MADV_DONTDUMP> takes precedence over the bit mask that is set via the I</"
"proc/PID/coredump_filter> file (see B<core>(5))."
msgstr ""
+"コアダンプから I<addr> と I<length> で指定された範囲のページを除外する。 これ"
+"は、 コアダンプに含めても役に立たないことが分かっている大きなメモリ領域がある"
+"アプリケーションで有用である。 B<MADV_DONTDUMP> の効果は I</proc/PID/"
+"coredump_filter> ファイル経由で設定されたビットマスクよりも優先される "
+"(B<core>(5) 参照)。"
#. type: TP
#: build/C/man2/madvise.2:264
#. type: Plain text
#: build/C/man2/madvise.2:268
msgid "Undo the effect of an earlier B<MADV_DONTDUMP>."
-msgstr ""
+msgstr "以前の B<MADV_DONTDUMP> の効果を取り消す。"
#. type: Plain text
#: build/C/man2/madvise.2:275
"を適切な値に設定する。"
#. type: TP
-#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:154 build/C/man2/mmap.2:413
+#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:154 build/C/man2/mmap.2:411
#: build/C/man2/mremap.2:136
#, no-wrap
msgid "B<EAGAIN>"
#. type: Plain text
#: build/C/man2/madvise.2:285
msgid "This error can occur for the following reasons:"
-msgstr ""
-
-#. type: IP
-#: build/C/man2/madvise.2:286 build/C/man2/madvise.2:292
-#: build/C/man2/madvise.2:295 build/C/man2/madvise.2:298
-#: build/C/man2/madvise.2:301 build/C/man3/mallopt.3:235
-#: build/C/man3/mallopt.3:241
-#, no-wrap
-msgid "*"
-msgstr "*"
+msgstr "このエラーは以下の理由で発生する。"
#. .I len
#. is zero,
#. type: Plain text
#: build/C/man2/madvise.2:295
msgid "I<addr> is not page-aligned."
-msgstr ""
+msgstr "I<addr> がページ境界ではない。"
#. type: Plain text
#: build/C/man2/madvise.2:298
"B<MADV_MERGEABLE> or B<MADV_UNMERGEABLE> was specified in I<advice>, but the "
"kernel was not configured with B<CONFIG_KSM>."
msgstr ""
+"I<advice> に B<MADV_MERGEABLE> か B<MADV_UNMERGEABLE> が指定されたが、 カーネ"
+"ルの設定が B<CONFIG_KSM> が有効になっていなかった。"
#. type: Plain text
#: build/C/man2/madvise.2:316
#. type: TP
#: build/C/man2/madvise.2:316 build/C/man2/madvise.2:321
#: build/C/man2/mlock.2:123 build/C/man2/mlock.2:131 build/C/man2/mlock.2:169
-#: build/C/man2/mmap.2:456 build/C/man2/mprotect.2:100
+#: build/C/man2/mmap.2:454 build/C/man2/mprotect.2:100
#: build/C/man2/mprotect.2:103 build/C/man2/mremap.2:179
-#: build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:162
-#: build/C/man2/shmctl.2:333 build/C/man2/shmget.2:214
-#: build/C/man2/shmop.2:214 build/C/man2/subpage_prot.2:87
+#: build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:164
+#: build/C/man2/shmctl.2:337 build/C/man2/shmget.2:231
+#: build/C/man2/shmop.2:211 build/C/man2/subpage_prot.2:87
#: build/C/man2/sync_file_range.2:163
#, no-wrap
msgid "B<ENOMEM>"
#. FIXME . Write a posix_madvise(3) page.
#. type: Plain text
-#: build/C/man2/madvise.2:337
+#: build/C/man2/madvise.2:338
msgid ""
"POSIX.1b. POSIX.1-2001 describes B<posix_madvise>(3) with constants "
-"B<POSIX_MADV_NORMAL>, etc., with a behavior close to that described here. "
-"There is a similar B<posix_fadvise>(2) for file access."
+"B<POSIX_MADV_NORMAL>, B<POSIX_MADV_RANDOM>, and so on, with a behavior close "
+"to that described here. There is a similar B<posix_fadvise>(2) for file "
+"access."
msgstr ""
-"POSIX.1b. POSIX.1-2001 では、 B<posix_madvise>(3) を B<POSIX_MADV_NORMAL> "
-"などの定数とともに記述していた (それぞれの振る舞いはここで述べたものに近"
-"ã\81\84)ã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\82¯ã\82»ã\82¹ã\81«å¯¾ã\81\97ã\81¦ã\82\82 B<posix_fadvise>(2) ã\81¨ã\81\84ã\81\86é¡\9eä¼¼ã\81®é\96¢æ\95°ã\81\8cå\98å\9c¨"
-"する。"
+"POSIX.1b. POSIX.1-2001 では、 B<posix_madvise>(3) を B<POSIX_MADV_NORMAL>, "
+"B<POSIX_MADV_RANDOM> などの定数とともに記述していた (それぞれの振る舞いはここ"
+"ã\81§è¿°ã\81¹ã\81\9fã\82\82ã\81®ã\81«è¿\91ã\81\84)ã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\82¯ã\82»ã\82¹ã\81«å¯¾ã\81\97ã\81¦ã\82\82 B<posix_fadvise>(2) ã\81¨ã\81\84ã\81\86"
+"類似の関数が存在する。"
#. type: Plain text
-#: build/C/man2/madvise.2:346
+#: build/C/man2/madvise.2:347
msgid ""
"B<MADV_REMOVE>, B<MADV_DONTFORK>, B<MADV_DOFORK>, B<MADV_HWPOISON>, "
"B<MADV_MERGEABLE>, and B<MADV_UNMERGEABLE> are Linux-specific."
"B<MADV_MERGEABLE>, B<MADV_UNMERGEABLE> は Linux 固有である。"
#. type: SS
-#: build/C/man2/madvise.2:347 build/C/man2/mlock.2:267
-#: build/C/man2/shmget.2:294
+#: build/C/man2/madvise.2:348 build/C/man2/mlock.2:274
+#: build/C/man2/shmget.2:331
#, no-wrap
msgid "Linux notes"
msgstr "Linux での注意"
#. type: Plain text
-#: build/C/man2/madvise.2:355
+#: build/C/man2/madvise.2:356
msgid ""
"The current Linux implementation (2.4.0) views this system call more as a "
"command than as advice and hence may return an error when it cannot do what "
#. .BR madvise ()
#. function first appeared in 4.4BSD.
#. type: Plain text
-#: build/C/man2/madvise.2:371
+#: build/C/man2/madvise.2:372
msgid ""
"The Linux implementation requires that the address I<addr> be page-aligned, "
"and allows I<length> to be zero. If there are some parts of the specified "
"返す)。"
#. type: Plain text
-#: build/C/man2/madvise.2:379
+#: build/C/man2/madvise.2:381
msgid ""
"B<getrlimit>(2), B<mincore>(2), B<mmap>(2), B<mprotect>(2), B<msync>(2), "
-"B<munmap>(2), B<core>(5)"
+"B<munmap>(2), B<prctl>(2), B<core>(5)"
msgstr ""
"B<getrlimit>(2), B<mincore>(2), B<mmap>(2), B<mprotect>(2), B<msync>(2), "
-"B<munmap>(2), B<core>(5)"
+"B<munmap>(2), B<prctl>(2), B<core>(5)"
#. type: TH
#: build/C/man3/mallinfo.3:26
#. type: SH
#: build/C/man3/mallinfo.3:134 build/C/man3/malloc_hook.3:89
#: build/C/man3/malloc_info.3:84 build/C/man3/mallopt.3:466
-#: build/C/man3/mcheck.3:159 build/C/man2/mmap.2:630
+#: build/C/man3/mcheck.3:159 build/C/man2/mmap.2:628
#: build/C/man2/mprotect.2:148 build/C/man3/mtrace.3:108
#, no-wrap
msgid "EXAMPLE"
#. type: SS
#: build/C/man3/mallinfo.3:203 build/C/man3/malloc_info.3:167
#: build/C/man3/mallopt.3:532 build/C/man3/mcheck.3:176
-#: build/C/man2/mprotect.2:165
+#: build/C/man2/mmap.2:640 build/C/man2/mprotect.2:165
#, no-wrap
msgid "Program source"
msgstr "プログラムのソース"
#. type: Plain text
#: build/C/man3/mallinfo.3:269 build/C/man3/malloc_info.3:255
#: build/C/man3/mallopt.3:565 build/C/man3/mcheck.3:203
-#: build/C/man2/mmap.2:711
+#: build/C/man2/mmap.2:709
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
#. type: Plain text
#: build/C/man3/malloc_get_state.3:94
msgid ""
-"These functions are especially useful when using this B<malloc>(3) "
-"implementation as part of a shared library, and the heap contents are saved/"
-"restored via some other method. This technique is used by the GNU Emacs to "
-"implement its \"dumping\" function."
+"These functions are useful when using this B<malloc>(3) implementation as "
+"part of a shared library, and the heap contents are saved/restored via some "
+"other method. This technique is used by GNU Emacs to implement its \"dumping"
+"\" function."
msgstr ""
#. i.e., calls __malloc_check_init()
#. type: Plain text
#: build/C/man3/malloc_hook.3:43
msgid ""
-"The GNU C library lets you modify the behavior of B<malloc>(3), B<realloc>"
-"(3), and B<free>(3) by specifying appropriate hook functions. You can use "
-"these hooks to help you debug programs that use dynamic memory allocation, "
-"for example."
+"The GNU C library lets you modify the behavior of B<malloc>(3), "
+"B<realloc>(3), and B<free>(3) by specifying appropriate hook functions. "
+"You can use these hooks to help you debug programs that use dynamic memory "
+"allocation, for example."
msgstr ""
"GNU C ライブラリでは、適切なフック関数 (hook function) を指定することで "
"B<malloc>(3), B<realloc>(3), B<free>(3) の動作を変更することができる。例え"
msgstr "MALLOC_INFO"
#. type: TH
-#: build/C/man3/malloc_info.3:25 build/C/man2/shmget.2:38
-#, fuzzy, no-wrap
-#| msgid "2013-04-17"
+#: build/C/man3/malloc_info.3:25
+#, no-wrap
msgid "2013-04-19"
-msgstr "2013-04-17"
+msgstr "2013-04-19"
#. type: Plain text
#: build/C/man3/malloc_info.3:28
msgid "malloc_info - export malloc state to a stream"
-msgstr ""
+msgstr "malloc_info - malloc の状態をストリームに出力する"
#. type: Plain text
#: build/C/man3/malloc_info.3:33
"string is printed on the file stream I<fp>. The exported string includes "
"information about all arenas (see B<malloc>(3))."
msgstr ""
+"B<malloc_info>() 関数は、 呼び出し元のメモリ割り当て実装の現在の状態を表す "
+"XML 文字列を出力する。 文字列は、 ファイルストリーム I<fp> に出力される。 出"
+"力された文字列には、 全ての割り当て領域の情報が含まれる (B<malloc>(3) 参照)。"
#. type: Plain text
#: build/C/man3/malloc_info.3:48
msgid "As currently implemented, I<options> must be zero."
-msgstr ""
+msgstr "現在の実装では、 I<options> は 0 でなければならない。"
#. type: Plain text
#: build/C/man3/malloc_info.3:55
-#, fuzzy
-#| msgid ""
-#| "On success B<shmdt>() returns 0; on error -1 is returned, and I<errno> "
-#| "is set to indicate the cause of the error."
msgid ""
"On success, B<malloc_info>() returns 0; on error, it returns -1, with "
"I<errno> set to indicate the cause."
msgstr ""
-"B<shmdt>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエ"
-"ラーの原因を示す値を設定する。"
+"B<malloc_info>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
+"I<errno> にエラーの原因を示す値を設定する。"
#. type: Plain text
#: build/C/man3/malloc_info.3:60
msgid "I<options> was nonzero."
-msgstr ""
+msgstr "I<options> が 0 でなかった。"
#. type: Plain text
#: build/C/man3/malloc_info.3:63
"changes in the underlying implementation). The output XML string includes a "
"version field."
msgstr ""
+"メモリ割り当て情報は (C の構造体ではなく) XML 文字列として提供される。 これ"
+"は、 この情報は時間をたつと (内部で使用している実装によって) 変わる可能性があ"
+"るからである。 出力される XML 文字列にはバージョンフィールドが付いている。"
#. type: Plain text
#: build/C/man3/malloc_info.3:77
"The B<open_memstream>(3) function can be used to send the output of "
"B<malloc_info>() directly into a buffer in memory, rather than to a file."
msgstr ""
+"B<open_memstream>(3) 関数を使うと、 B<malloc_info>() の出力を、 ファイルでは"
+"なくメモリ内のバッファに直接送ることができる。"
#. type: Plain text
#: build/C/man3/malloc_info.3:84
"The B<malloc_info>() function is designed to address deficiencies in "
"B<malloc_stats>(3) and B<mallinfo>(3)."
msgstr ""
+"B<malloc_info>() 関数は、 B<malloc_stats>(3) と B<mallinfo>(3) の不備を解決す"
+"るために設定された。"
#. type: Plain text
#: build/C/man3/malloc_info.3:95
"created by the program allocates blocks of twice this size, the third thread "
"allocates blocks of three times this size, and so on."
msgstr ""
+"以下のプログラムは最大で 4 つのコマンドライン引数を取り、 最初の 3 つは必須で"
+"ある。 最初の引数は、このプログラムが生成するスレッド数を指定する。 メインス"
+"レッドを含む全てのスレッドが第 2 引数で指定した数のメモリブロックの割り当てを"
+"行う。 第 3 引数は割り当てるブロックのサイズを制御する。 メインスレッドはこの"
+"サイズのブロックを作成し、 このプログラムが生成する 2 番目のスレッドはこのサ"
+"イズの 2 倍のサイズのブロックを、 3 番目のスレッドはこのサイズの 3 倍のサイズ"
+"のブロックを割り当て、 以下同様である。"
#. type: Plain text
#: build/C/man3/malloc_info.3:102
"allocated. The second call is performed after all threads have allocated "
"memory."
msgstr ""
+"このプログラムは B<malloc_info>() を 2 回呼び出し、メモリ割り当て状態を表示す"
+"る。 最初の呼び出しはスレッドの生成もメモリの割り当ても行われる前に実行され"
+"る。 2 回目の呼び出しは全てのスレッドがメモリ割り当てを行った後に実行される。"
#. type: Plain text
#: build/C/man3/malloc_info.3:110
"allocate 10000 blocks of memory. After the blocks of memory have been "
"allocated, B<malloc_info>() shows the state of two allocation arenas."
msgstr ""
+"以下の例では、 コマンドライン引数で、 追加でスレッドを一つ生成し、メインス"
+"レッドと追加のスレッドの両方が 10000 個のメモリブロックを割り当てるように指定"
+"している。 メモリブロックの割り当て後の B<malloc_info>() では、 2 つの割り当"
+"て領域の状態が表示されている。"
#. type: Plain text
#: build/C/man3/malloc_info.3:135
"I<Note:> Nowadays, glibc uses a dynamic mmap threshold by default. The "
"initial value of the threshold is 128*1024, but when blocks larger than the "
"current threshold and less than or equal to B<DEFAULT_MMAP_THRESHOLD_MAX> "
-"are freed, the threshold is adjusted upwards to the size of the freed "
-"block. When dynamic mmap thresholding is in effect, the threshold for "
-"trimming the heap is also dynamically adjusted to be twice the dynamic mmap "
-"threshold. Dynamic adjustment of the mmap threshold is disabled if any of "
-"the B<M_TRIM_THRESHOLD>, B<M_TOP_PAD>, B<M_MMAP_THRESHOLD>, or B<M_MMAP_MAX> "
+"are freed, the threshold is adjusted upward to the size of the freed block. "
+"When dynamic mmap thresholding is in effect, the threshold for trimming the "
+"heap is also dynamically adjusted to be twice the dynamic mmap threshold. "
+"Dynamic adjustment of the mmap threshold is disabled if any of the "
+"B<M_TRIM_THRESHOLD>, B<M_TOP_PAD>, B<M_MMAP_THRESHOLD>, or B<M_MMAP_MAX> "
"parameters is set."
msgstr ""
"without merging adjacent free blocks. Subsequent reallocation of blocks of "
"the same size can be handled very quickly by allocating from the fastbin, "
"although memory fragmentation and the overall memory footprint of the "
-"program can increase. The default value for this parameter is I<64*sizeof"
-"(size_t)/4> (i.e., 64 on 32-bit architectures). The range for this "
-"parameter is 0 to I<80*sizeof(size_t)/4>. Setting B<M_MXFAST> to 0 disables "
-"the use of fastbins."
+"program can increase. The default value for this parameter is "
+"I<64*sizeof(size_t)/4> (i.e., 64 on 32-bit architectures). The range for "
+"this parameter is 0 to I<80*sizeof(size_t)/4>. Setting B<M_MXFAST> to 0 "
+"disables the use of fastbins."
msgstr ""
#. type: TP
#. type: Plain text
#: build/C/man3/mallopt.3:234
msgid ""
-"This parameter defines the amount of padding to employ when calling B<sbrk>"
-"(2) to modify the program break. (The measurement unit for this parameter "
-"is bytes.) This parameter has an effect in the following circumstances:"
+"This parameter defines the amount of padding to employ when calling "
+"B<sbrk>(2) to modify the program break. (The measurement unit for this "
+"parameter is bytes.) This parameter has an effect in the following "
+"circumstances:"
msgstr ""
#. type: Plain text
"parameters as are controlled by B<mallopt>(). Using these variables has the "
"advantage that the source code of the program need not be changed. To be "
"effective, these variables must be defined before the first call to a memory-"
-"allocation function. (If the same parameters are adjusted via B<mallopt>() "
+"allocation function. (If the same parameters are adjusted via B<mallopt>(), "
"then the B<mallopt>() settings take precedence.) For security reasons, "
"these variables are ignored in set-user-ID and set-group-ID programs."
msgstr ""
msgstr "MCHECK"
#. type: TH
-#: build/C/man3/mcheck.3:25 build/C/man3/mtrace.3:25
+#: build/C/man3/mcheck.3:25
#, no-wrap
-msgid "2012-04-18"
-msgstr "2012-04-18"
+msgid "2014-01-11"
+msgstr "2014-01-11"
#. type: Plain text
#: build/C/man3/mcheck.3:28
#. type: Plain text
#: build/C/man3/mcheck.3:51
msgid ""
-"The B<mcheck>() function installs a set of debugging hooks for the B<malloc>"
-"(3) family of memory-allocation functions. These hooks cause certain "
-"consistency checks to be performed on the state of the heap. The checks can "
-"detect application errors such as freeing a block of memory more than once "
-"or corrupting the bookkeeping data structures that immediately precede a "
-"block of allocated memory."
+"The B<mcheck>() function installs a set of debugging hooks for the "
+"B<malloc>(3) family of memory-allocation functions. These hooks cause "
+"certain consistency checks to be performed on the state of the heap. The "
+"checks can detect application errors such as freeing a block of memory more "
+"than once or corrupting the bookkeeping data structures that immediately "
+"precede a block of allocated memory."
msgstr ""
#. type: Plain text
msgid ""
"To be effective, the B<mcheck>() function must be called before the first "
"call to B<malloc>(3) or a related function. In cases where this is "
-"difficult to ensure, linking the program with I<-mcheck> inserts an implicit "
-"call to B<mcheck>() (with a NULL argument) before the first call to a "
-"memory-allocation function."
+"difficult to ensure, linking the program with I<-lmcheck> inserts an "
+"implicit call to B<mcheck>() (with a NULL argument) before the first call "
+"to a memory-allocation function."
msgstr ""
#. type: Plain text
#. type: TH
#: build/C/man2/mlock.2:26
#, no-wrap
-msgid "2011-09-14"
-msgstr "2011-09-14"
+msgid "2014-04-14"
+msgstr "2014-04-14"
#. type: Plain text
#: build/C/man2/mlock.2:29
msgid ""
"Lock all pages which will become mapped into the address space of the "
"process in the future. These could be for instance new pages required by a "
-"growing heap and stack as well as new memory mapped files or shared memory "
+"growing heap and stack as well as new memory-mapped files or shared memory "
"regions."
msgstr ""
"将来、プロセスのアドレス空間にマップされる全てのページをロックする。 例えば、"
#. type: Plain text
#: build/C/man2/mlock.2:112
msgid ""
-"If B<MCL_FUTURE> has been specified, then a later system call (e.g., B<mmap>"
-"(2), B<sbrk>(2), B<malloc>(3)), may fail if it would cause the number of "
-"locked bytes to exceed the permitted maximum (see below). In the same "
+"If B<MCL_FUTURE> has been specified, then a later system call (e.g., "
+"B<mmap>(2), B<sbrk>(2), B<malloc>(3)), may fail if it would cause the number "
+"of locked bytes to exceed the permitted maximum (see below). In the same "
"circumstances, stack growth may likewise fail: the kernel will deny stack "
"expansion and deliver a B<SIGSEGV> signal to the process."
msgstr ""
msgstr "POSIX.1-2001, SVr4."
#. type: SH
-#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:501 build/C/man2/msync.2:105
+#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:499 build/C/man2/msync.2:105
#, no-wrap
msgid "AVAILABILITY"
msgstr "可用性"
"書き込み時コピーによる ページフォールトさえも発生しないことが保証される。"
#. type: Plain text
-#: build/C/man2/mlock.2:250
+#: build/C/man2/mlock.2:257
msgid ""
"Memory locks are not inherited by a child created via B<fork>(2) and are "
"automatically removed (unlocked) during an B<execve>(2) or when the process "
-"terminates."
+"terminates. The B<mlockall>() B<MCL_FUTURE> setting is not inherited by a "
+"child created via B<fork>(2) and is cleared during an B<execve>(2)."
msgstr ""
-"メモリロックは B<fork>(2) で作成された子プロセスには継承されず、 B<execve>"
-"(2) が呼ばれたり、プロセスが終了した場合は 自動的に削除される (ロック解除さ"
-"れる)。"
+"メモリロックは B<fork>(2) で作成された子プロセスには継承されず、 "
+"B<execve>(2) が呼ばれたり、プロセスが終了した場合は 自動的に削除される (ロッ"
+"ク解除される)。 B<mlockall>() の B<MCL_FUTURE> 設定は B<fork>(2) で作成された"
+"子プロセスには継承されず、 B<execve>(2) の中でクリアされる。"
#. type: Plain text
-#: build/C/man2/mlock.2:254
+#: build/C/man2/mlock.2:261
msgid ""
"The memory lock on an address range is automatically removed if the address "
"range is unmapped via B<munmap>(2)."
"よってアンマップされた場合は削除される。"
#. type: Plain text
-#: build/C/man2/mlock.2:267
+#: build/C/man2/mlock.2:274
msgid ""
"Memory locks do not stack, that is, pages which have been locked several "
"times by calls to B<mlock>() or B<mlockall>() will be unlocked by a single "
"のプロセスでロックされている限りは RAM に残り続ける。"
#. type: Plain text
-#: build/C/man2/mlock.2:278
+#: build/C/man2/mlock.2:285
msgid ""
"Under Linux, B<mlock>() and B<munlock>() automatically round I<addr> down "
"to the nearest page boundary. However, POSIX.1-2001 allows an "
"ケーションではきちんと境界に合わせた方が良い。"
#. type: Plain text
-#: build/C/man2/mlock.2:291
+#: build/C/man2/mlock.2:298
msgid ""
"The I<VmLck> field of the Linux-specific I</proc/PID/status> file shows how "
-"many kilobytes of memory the process with ID I<PID> has locked using B<mlock>"
-"(), B<mlockall>(), and B<mmap>(2) B<MAP_LOCKED>."
+"many kilobytes of memory the process with ID I<PID> has locked using "
+"B<mlock>(), B<mlockall>(), and B<mmap>(2) B<MAP_LOCKED>."
msgstr ""
"Linux 固有の I</proc/PID/status> ファイルの I<VmLck> フィールドには、\n"
"B<mlock>(), B<mlockall>() および B<mmap>(2) B<MAP_LOCKED> を使って、\n"
"表示される。"
#. type: SS
-#: build/C/man2/mlock.2:291
+#: build/C/man2/mlock.2:298
#, no-wrap
msgid "Limits and permissions"
msgstr "制限と権限"
#. type: Plain text
-#: build/C/man2/mlock.2:298
+#: build/C/man2/mlock.2:305
msgid ""
"In Linux 2.6.8 and earlier, a process must be privileged (B<CAP_IPC_LOCK>) "
"in order to lock memory and the B<RLIMIT_MEMLOCK> soft resource limit "
"できるかの制限を定義する。"
#. type: Plain text
-#: build/C/man2/mlock.2:304
+#: build/C/man2/mlock.2:311
msgid ""
"Since Linux 2.6.9, no limits are placed on the amount of memory that a "
"privileged process can lock and the B<RLIMIT_MEMLOCK> soft resource limit "
"クできるメモリ量の制限を定義する。"
#. type: Plain text
-#: build/C/man2/mlock.2:312
+#: build/C/man2/mlock.2:319
msgid ""
"In the 2.4 series Linux kernels up to and including 2.4.17, a bug caused the "
"B<mlockall>() B<MCL_FUTURE> flag to be inherited across a B<fork>(2). This "
#. "Rationale for RLIMIT_MEMLOCK"
#. 23 Jan 2006
#. type: Plain text
-#: build/C/man2/mlock.2:329
+#: build/C/man2/mlock.2:336
msgid ""
"Since kernel 2.6.9, if a privileged process calls I<mlockall(MCL_FUTURE)> "
"and later drops privileges (loses the B<CAP_IPC_LOCK> capability by, for "
"B<brk>(2)) は失敗する。"
#. type: Plain text
-#: build/C/man2/mlock.2:336
+#: build/C/man2/mlock.2:343
msgid ""
"B<mmap>(2), B<setrlimit>(2), B<shmctl>(2), B<sysconf>(3), B<proc>(5), "
"B<capabilities>(7)"
#. type: TH
#: build/C/man2/mmap.2:40
#, no-wrap
-msgid "2013-04-17"
-msgstr "2013-04-17"
+msgid "2014-04-06"
+msgstr "2014-04-06"
#. type: Plain text
#: build/C/man2/mmap.2:43
"ファイルマッピングの内容は、 ファイルディスクリプタ I<fd> で参照されるファイ"
"ル (もしくは他のオブジェクト) のオフセット I<offset> から開始される "
"I<length> バイトのデータで初期化される (ファイルマッピングは無名マッピングの"
-"反対語である。 B<MAP_ANONYMOUS> を参照)。 I<offset> は I<sysconf"
-"(_SC_PAGE_SIZE)> が返すページサイズの倍数でなければならない。"
+"反対語である。 B<MAP_ANONYMOUS> を参照)。 I<offset> は "
+"I<sysconf(_SC_PAGE_SIZE)> が返すページサイズの倍数でなければならない。"
#. type: Plain text
#: build/C/man2/mmap.2:97
#. type: Plain text
#: build/C/man2/mmap.2:242
msgid ""
-"Lock the pages of the mapped region into memory in the manner of B<mlock>"
-"(2). This flag is ignored in older kernels."
+"Lock the pages of the mapped region into memory in the manner of "
+"B<mlock>(2). This flag is ignored in older kernels."
msgstr ""
"マップされた領域のページを B<mlock>(2) の方法でメモリ内にロックする。 それ以"
"前のカーネルでは、このフラグは無視される。"
#. type: TP
#: build/C/man2/mmap.2:393 build/C/man2/mprotect.2:86
#: build/C/man3/shm_open.3:187 build/C/man3/shm_open.3:192
-#: build/C/man2/shmctl.2:302 build/C/man2/shmget.2:189
-#: build/C/man2/shmop.2:191
+#: build/C/man2/shmctl.2:306 build/C/man2/shmget.2:192
+#: build/C/man2/shmop.2:188
#, no-wrap
msgid "B<EACCES>"
msgstr "B<EACCES>"
#. type: Plain text
-#: build/C/man2/mmap.2:413
+#: build/C/man2/mmap.2:411
msgid ""
-"A file descriptor refers to a non-regular file. Or B<MAP_PRIVATE> was "
+"A file descriptor refers to a non-regular file. Or a file mapping was "
"requested, but I<fd> is not open for reading. Or B<MAP_SHARED> was "
"requested and B<PROT_WRITE> is set, but I<fd> is not open in read/write "
"(B<O_RDWR>) mode. Or B<PROT_WRITE> is set, but the file is append-only."
msgstr ""
"以下のいずれかの場合。 ファイル記述子の参照先が通常のファイルではない (non-"
-"regular file) 。 B<MAP_PRIVATE> を要求したが I<fd> は読み込み用にオープンされ"
-"ã\81¦ã\81\84ã\81ªã\81\84ã\80\82 B<MAP_SHARED> ã\82\92è¦\81æ±\82ã\81\97ã\81¦ B<PROT_WRITE> ã\82\92ã\82»ã\83\83ã\83\88ã\81\97ã\81\9fã\81\8c I<fd> ã\81¯èªã\81¿"
-"書きモード (B<O_RDWR>) でオープンされていない、 B<PROT_WRITE> をセットした"
-"が、ファイルは追加 (append) 専用である。"
+"regular file) 。 ファイルマッピングを要求したが I<fd> は読み込み用にオープン"
+"ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82 B<MAP_SHARED> ã\82\92è¦\81æ±\82ã\81\97ã\81¦ B<PROT_WRITE> ã\82\92ã\82»ã\83\83ã\83\88ã\81\97ã\81\9fã\81\8c I<fd> ã\81¯"
+"読み書きモード (B<O_RDWR>) でオープンされていない、 B<PROT_WRITE> をセットし"
+"ã\81\9fã\81\8cã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81¯è¿½å\8a (append) å°\82ç\94¨ã\81§ã\81\82ã\82\8bã\80\82"
#. type: Plain text
-#: build/C/man2/mmap.2:417
+#: build/C/man2/mmap.2:415
msgid ""
"The file has been locked, or too much memory has been locked (see "
"B<setrlimit>(2))."
"(B<setrlimit>(2) を参照)。"
#. type: Plain text
-#: build/C/man2/mmap.2:423
+#: build/C/man2/mmap.2:421
msgid ""
"I<fd> is not a valid file descriptor (and B<MAP_ANONYMOUS> was not set)."
msgstr ""
"B<MAP_ANONYMOUS> がセットされていない)。"
#. type: Plain text
-#: build/C/man2/mmap.2:431
+#: build/C/man2/mmap.2:429
msgid ""
"We don't like I<addr>, I<length>, or I<offset> (e.g., they are too large, or "
"not aligned on a page boundary)."
"ジ境界にアラインメントされていない)。"
#. type: Plain text
-#: build/C/man2/mmap.2:436
+#: build/C/man2/mmap.2:434
msgid "(since Linux 2.6.12) I<length> was 0."
msgstr "(Linux 2.6.12 以降) I<length> が 0 であった。"
#. type: Plain text
-#: build/C/man2/mmap.2:444
+#: build/C/man2/mmap.2:442
msgid ""
"I<flags> contained neither B<MAP_PRIVATE> or B<MAP_SHARED>, or contained "
"both of these values."
"しくは その両方が含まれていた。"
#. type: TP
-#: build/C/man2/mmap.2:444 build/C/man3/shm_open.3:229
-#: build/C/man2/shmget.2:205
+#: build/C/man2/mmap.2:442 build/C/man3/shm_open.3:229
+#: build/C/man2/shmget.2:222
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"
#. [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp()
#. type: Plain text
-#: build/C/man2/mmap.2:452 build/C/man2/shmget.2:209
+#: build/C/man2/mmap.2:450 build/C/man2/shmget.2:226
msgid "The system limit on the total number of open files has been reached."
msgstr "システム全体でオープンされているファイルの総数が上限に達した。"
#. type: Plain text
-#: build/C/man2/mmap.2:456
+#: build/C/man2/mmap.2:454
msgid ""
-"The underlying file system of the specified file does not support memory "
+"The underlying filesystem of the specified file does not support memory "
"mapping."
msgstr ""
"指定されたファイルが置かれているファイルシステムがメモリマッピングをサポート "
"していない。"
#. type: Plain text
-#: build/C/man2/mmap.2:460
+#: build/C/man2/mmap.2:458
msgid ""
"No memory is available, or the process's maximum number of mappings would "
"have been exceeded."
#. (Since 2.4.25 / 2.6.0.)
#. type: Plain text
-#: build/C/man2/mmap.2:469
+#: build/C/man2/mmap.2:467
msgid ""
"The I<prot> argument asks for B<PROT_EXEC> but the mapped area belongs to a "
-"file on a file system that was mounted no-exec."
+"file on a filesystem that was mounted no-exec."
msgstr ""
"I<prot> 引き数は B<PROT_EXEC> を行うように指定されているが、 no-exec でマウン"
"トされたファイルシステム上のファイルに マップ領域が対応している。"
-#. type: TP
-#: build/C/man2/mmap.2:469
-#, no-wrap
-msgid "B<ETXTBSY>"
-msgstr "B<ETXTBSY>"
-
#. type: Plain text
-#: build/C/man2/mmap.2:475
+#: build/C/man2/mmap.2:473
msgid ""
"B<MAP_DENYWRITE> was set but the object specified by I<fd> is open for "
"writing."
"き込み用に開かれている。"
#. type: TP
-#: build/C/man2/mmap.2:475 build/C/man2/shmctl.2:344
+#: build/C/man2/mmap.2:473 build/C/man2/shmctl.2:348
#, no-wrap
msgid "B<EOVERFLOW>"
msgstr "B<EOVERFLOW>"
#. type: Plain text
-#: build/C/man2/mmap.2:487
+#: build/C/man2/mmap.2:485
msgid ""
"On 32-bit architecture together with the large file extension (i.e., using "
"64-bit I<off_t>): the number of pages used for I<length> plus number of "
"しまう) 場合がある。"
#. type: Plain text
-#: build/C/man2/mmap.2:489
+#: build/C/man2/mmap.2:487
msgid "Use of a mapped region can result in these signals:"
msgstr "マップ領域を利用する際に、以下のシグナルが発生することがある:"
#. type: TP
-#: build/C/man2/mmap.2:489
+#: build/C/man2/mmap.2:487
#, no-wrap
msgid "B<SIGSEGV>"
msgstr "B<SIGSEGV>"
#. type: Plain text
-#: build/C/man2/mmap.2:492
+#: build/C/man2/mmap.2:490
msgid "Attempted write into a region mapped as read-only."
msgstr "読み込み専用で mmap された領域へ書き込みを行おうとした。"
#. type: TP
-#: build/C/man2/mmap.2:492
+#: build/C/man2/mmap.2:490
#, no-wrap
msgid "B<SIGBUS>"
msgstr "B<SIGBUS>"
#. type: Plain text
-#: build/C/man2/mmap.2:497
+#: build/C/man2/mmap.2:495
msgid ""
"Attempted access to a portion of the buffer that does not correspond to the "
"file (for example, beyond the end of the file, including the case where "
#. SVr4 documents additional error codes ENXIO and ENODEV.
#. SUSv2 documents additional error codes EMFILE and EOVERFLOW.
#. type: Plain text
-#: build/C/man2/mmap.2:501
+#: build/C/man2/mmap.2:499
msgid "SVr4, 4.4BSD, POSIX.1-2001."
msgstr "SVr4, 4.4BSD, POSIX.1-2001."
#. -1: unavailable, 0: ask using sysconf().
#. glibc defines it to 1.
#. type: Plain text
-#: build/C/man2/mmap.2:515
+#: build/C/man2/mmap.2:513
msgid ""
"On POSIX systems on which B<mmap>(), B<msync>(2) and B<munmap>() are "
"available, B<_POSIX_MAPPED_FILES> is defined in I<E<lt>unistd.hE<gt>> to a "
#. Since around glibc 2.1/2.2, depending on the platform.
#. type: Plain text
-#: build/C/man2/mmap.2:530
+#: build/C/man2/mmap.2:528
msgid ""
"This page describes the interface provided by the glibc B<mmap>() wrapper "
"function. Originally, this function invoked a system call of the same "
-"name. Since kernel 2.4, that system call has been superseded by B<mmap2>"
-"(2), and nowadays the glibc B<mmap>() wrapper function invokes B<mmap2>(2) "
-"with a suitably adjusted value for I<offset>."
+"name. Since kernel 2.4, that system call has been superseded by "
+"B<mmap2>(2), and nowadays the glibc B<mmap>() wrapper function invokes "
+"B<mmap2>(2) with a suitably adjusted value for I<offset>."
msgstr ""
"このページでは glibc の B<mmap>() のラッパー関数が提供するインターフェース"
"に\n"
"B<mmap2>(2) を起動する。"
#. type: Plain text
-#: build/C/man2/mmap.2:543
+#: build/C/man2/mmap.2:541
msgid ""
"On some hardware architectures (e.g., i386), B<PROT_WRITE> implies "
"B<PROT_READ>. It is architecture dependent whether B<PROT_READ> implies "
"常に B<PROT_EXEC> をセットすべきである。"
#. type: Plain text
-#: build/C/man2/mmap.2:558
+#: build/C/man2/mmap.2:556
msgid ""
"The portable way to create a mapping is to specify I<addr> as 0 (NULL), and "
"omit B<MAP_FIXED> from I<flags>. In this case, the system chooses the "
"I<addr> が 0 (NULL) の場合には、マップされるアドレスが 0 (NULL) になる。"
#. type: Plain text
-#: build/C/man2/mmap.2:587
+#: build/C/man2/mmap.2:585
msgid ""
"Certain I<flags> constants are defined only if either B<_BSD_SOURCE> or "
"B<_SVID_SOURCE> is defined. (Requiring B<_GNU_SOURCE> also suffices, and "
"requiring that macro specifically would have been more logical, since these "
-"flags are all Linux specific.) The relevant flags are: B<MAP_32BIT>, "
+"flags are all Linux-specific.) The relevant flags are: B<MAP_32BIT>, "
"B<MAP_ANONYMOUS> (and the synonym B<MAP_ANON>), B<MAP_DENYWRITE>, "
"B<MAP_EXECUTABLE>, B<MAP_FILE>, B<MAP_GROWSDOWN>, B<MAP_HUGETLB>, "
"B<MAP_LOCKED>, B<MAP_NONBLOCK>, B<MAP_NORESERVE>, B<MAP_POPULATE>, and "
"B<MAP_STACK> である。"
#. type: Plain text
-#: build/C/man2/mmap.2:592
+#: build/C/man2/mmap.2:590
msgid ""
"On Linux there are no guarantees like those suggested above under "
"B<MAP_NORESERVE>. By default, any process can be killed at any moment when "
"終了されるか分からないからである。"
#. type: Plain text
-#: build/C/man2/mmap.2:599
+#: build/C/man2/mmap.2:597
msgid ""
"In kernels before 2.6.7, the B<MAP_POPULATE> flag has effect only if I<prot> "
"is specified as B<PROT_NONE>."
"み、 B<MAP_POPULATE> フラグが効力を持つ。"
#. type: Plain text
-#: build/C/man2/mmap.2:614
+#: build/C/man2/mmap.2:612
msgid ""
"SUSv3 specifies that B<mmap>() should fail if I<length> is 0. However, in "
"kernels before 2.6.12, B<mmap>() succeeded in this case: no mapping was "
"では、 B<mmap>() はエラー B<EINVAL> で失敗する。"
#. type: Plain text
-#: build/C/man2/mmap.2:630
+#: build/C/man2/mmap.2:628
msgid ""
"POSIX specifies that the system shall always zero fill any partial page at "
"the end of the object and that system will never write any modification of "
"共有メモリインターフェースを使った場合)。"
#. type: Plain text
-#: build/C/man2/mmap.2:642
+#: build/C/man2/mmap.2:640
msgid ""
"The following program prints part of the file specified in its first command-"
"line argument to standard output. The range of bytes to be printed is "
"を出力する。"
#. type: Plain text
-#: build/C/man2/mmap.2:650
+#: build/C/man2/mmap.2:648
#, no-wrap
msgid ""
"#include E<lt>sys/mman.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/mmap.2:653 build/C/man2/mprotect.2:178
+#: build/C/man2/mmap.2:651 build/C/man2/mprotect.2:178
#, no-wrap
msgid ""
"#define handle_error(msg) \\e\n"
" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
#. type: Plain text
-#: build/C/man2/mmap.2:663
+#: build/C/man2/mmap.2:661
#, no-wrap
msgid ""
"int\n"
" ssize_t s;\n"
#. type: Plain text
-#: build/C/man2/mmap.2:668
+#: build/C/man2/mmap.2:666
#, no-wrap
msgid ""
" if (argc E<lt> 3 || argc E<gt> 4) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/mmap.2:672
+#: build/C/man2/mmap.2:670
#, no-wrap
msgid ""
" fd = open(argv[1], O_RDONLY);\n"
" handle_error(\"open\");\n"
#. type: Plain text
-#: build/C/man2/mmap.2:675
+#: build/C/man2/mmap.2:673
#, no-wrap
msgid ""
" if (fstat(fd, &sb) == -1) /* To obtain file size */\n"
" handle_error(\"fstat\");\n"
#. type: Plain text
-#: build/C/man2/mmap.2:679
+#: build/C/man2/mmap.2:677
#, no-wrap
msgid ""
" offset = atoi(argv[2]);\n"
" /* offset for mmap() must be page aligned */\n"
#. type: Plain text
-#: build/C/man2/mmap.2:684
+#: build/C/man2/mmap.2:682
#, no-wrap
msgid ""
" if (offset E<gt>= sb.st_size) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/mmap.2:690
+#: build/C/man2/mmap.2:688
#, no-wrap
msgid ""
" if (argc == 4) {\n"
" /* Can\\(aqt display bytes past end of file */\n"
#. type: Plain text
-#: build/C/man2/mmap.2:694
+#: build/C/man2/mmap.2:692
#, no-wrap
msgid ""
" } else { /* No length arg ==E<gt> display to end of file */\n"
" }\n"
#. type: Plain text
-#: build/C/man2/mmap.2:699
+#: build/C/man2/mmap.2:697
#, no-wrap
msgid ""
" addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n"
" handle_error(\"mmap\");\n"
#. type: Plain text
-#: build/C/man2/mmap.2:704
+#: build/C/man2/mmap.2:702
#, no-wrap
msgid ""
" s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n"
" handle_error(\"write\");\n"
#. type: Plain text
-#: build/C/man2/mmap.2:708
+#: build/C/man2/mmap.2:706
#, no-wrap
msgid ""
" fprintf(stderr, \"partial write\");\n"
" }\n"
#. type: Plain text
-#: build/C/man2/mmap.2:725
+#: build/C/man2/mmap.2:723
msgid ""
"B<getpagesize>(2), B<mincore>(2), B<mlock>(2), B<mmap2>(2), B<mprotect>(2), "
-"B<mremap>(2), B<msync>(2), B<remap_file_pages>(2), B<setrlimit>(2), B<shmat>"
-"(2), B<shm_open>(3), B<shm_overview>(7)"
+"B<mremap>(2), B<msync>(2), B<remap_file_pages>(2), B<setrlimit>(2), "
+"B<shmat>(2), B<shm_open>(3), B<shm_overview>(7)"
msgstr ""
"B<getpagesize>(2), B<mincore>(2), B<mlock>(2), B<mmap2>(2), B<mprotect>(2), "
-"B<mremap>(2), B<msync>(2), B<remap_file_pages>(2), B<setrlimit>(2), B<shmat>"
-"(2), B<shm_open>(3), B<shm_overview>(7)"
+"B<mremap>(2), B<msync>(2), B<remap_file_pages>(2), B<setrlimit>(2), "
+"B<shmat>(2), B<shm_open>(3), B<shm_overview>(7)"
#. type: Plain text
-#: build/C/man2/mmap.2:732
+#: build/C/man2/mmap.2:730
msgid ""
"The descriptions of the following files in B<proc>(5): I</proc/[pid]/maps>, "
"I</proc/[pid]/map_files>, and I</proc/[pid]/smaps>."
"smaps> の説明。"
#. type: Plain text
-#: build/C/man2/mmap.2:737 build/C/man2/msync.2:124
+#: build/C/man2/mmap.2:735 build/C/man2/msync.2:151
msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391."
msgstr "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391."
#. type: TH
#: build/C/man2/mmap2.2:29
#, no-wrap
-msgid "2012-04-16"
-msgstr "2012-04-16"
+msgid "2014-02-25"
+msgstr "2014-02-25"
#. type: Plain text
#: build/C/man2/mmap2.2:32
#. type: Plain text
#: build/C/man2/mmap2.2:43
msgid ""
-"This is probably not the system call you are interested; instead, see B<mmap>"
-"(2), which describes the glibc wrapper function that invokes this system "
-"call."
+"This is probably not the system call that you are interested in; instead, "
+"see B<mmap>(2), which describes the glibc wrapper function that invokes this "
+"system call."
msgstr ""
"これはおそらくあなたが興味のあるシステムコールではないだろう。代わりに\n"
"B<mmap>(2) を見るとよい。そのページにはこのシステムコールを起動する glibc "
#. type: Plain text
#: build/C/man2/mmap2.2:61
msgid ""
-"On success, B<mmap2>() returns a pointer to the mapped area. On error -1 "
+"On success, B<mmap2>() returns a pointer to the mapped area. On error, -1 "
"is returned and I<errno> is set appropriately."
msgstr ""
"成功した場合、 B<mmap2>() はマップされた領域へのポインタを返す。 エラーの場"
#. type: Plain text
#: build/C/man2/mmap2.2:70
-#, fuzzy
-#| msgid ""
-#| "(Various platforms where the page size is not 4096 bytes.) I<offset * "
-#| "4096> is not a multiple of the system page size."
msgid ""
"(Various platforms where the page size is not 4096 bytes.) I<offset\\ *\\ "
"4096> is not a multiple of the system page size."
msgstr ""
-"(ページサイズが 4096 バイトでないプラットフォームにおいて) I<offset * 4096> "
-"がシステムのページサイズの倍数ではない。"
+"(ページサイズが 4096 バイトでないプラットフォームにおいて) I<offset\\ *\\ "
+"4096> がシステムのページサイズの倍数ではない。"
#. type: Plain text
#: build/C/man2/mmap2.2:74
msgstr "このシステムコールは Linux 独自である。"
#. type: Plain text
-#: build/C/man2/mmap2.2:85
+#: build/C/man2/mmap2.2:86
msgid ""
-"Nowadays, the glibc B<mmap>() wrapper function invokes this system call "
-"rather than the B<mmap>(2) system call."
+"On architectures where this system call is present, the glibc B<mmap>() "
+"wrapper function invokes this system call rather than the B<mmap>(2) system "
+"call."
msgstr ""
-"現在では、glibc の B<mmap>() のラッパー関数は、 B<mmap>(2) システムコールで"
-"はなく、このシステムコール (B<mmap2>(2)) を起動する。"
+"このシステムコールが存在するアーキテクチャーでは、glibc の B<mmap>() のラッ"
+"パー関数は、 B<mmap>(2) システムコールではなく、このシステムコール "
+"(B<mmap2>(2)) を起動する。"
+
+#. type: Plain text
+#: build/C/man2/mmap2.2:88
+msgid "This system call does not exist on x86-64."
+msgstr "このシステムコールは x86-64 には存在しない。"
#. ia64 can have page sizes ranging from 4kB to 64kB.
#. On cris, it looks like the unit might also be the page size,
#. which is 8192 bytes. -- mtk, June 2007
#. type: Plain text
-#: build/C/man2/mmap2.2:92
+#: build/C/man2/mmap2.2:95
msgid ""
"On ia64, the unit for I<offset> is actually the system page size, rather "
"than 4096 bytes."
"バイトではない。"
#. type: Plain text
-#: build/C/man2/mmap2.2:98
+#: build/C/man2/mmap2.2:101
msgid ""
"B<getpagesize>(2), B<mmap>(2), B<mremap>(2), B<msync>(2), B<shm_open>(3)"
msgstr ""
#. type: TH
#: build/C/man2/mprotect.2:38
#, no-wrap
-msgid "2012-08-14"
-msgstr "2012-08-14"
+msgid "2014-01-05"
+msgstr "2014-01-05"
#. type: Plain text
#: build/C/man2/mprotect.2:41
#. type: Plain text
#: build/C/man2/mprotect.2:180
#, no-wrap
-msgid "char *buffer;\n"
-msgstr "char *buffer;\n"
+msgid "static char *buffer;\n"
+msgstr "static char *buffer;\n"
#. type: Plain text
#: build/C/man2/mprotect.2:188
#. type: Plain text
#: build/C/man2/mremap.2:117
-#, fuzzy
-#| msgid ""
-#| "This flag serves a similar purpose to the B<MAP_FIXED> flag of B<mmap>"
-#| "(2). If this flag is specified, then B<mremap>() accepts a fifth "
-#| "argument, I<void *new_address>, which specifies a page-aligned address to "
-#| "which the mapping must be moved. Any previous mapping at the address "
-#| "range specified by I<new_address> and I<new_size> is unmapped. If "
-#| "B<MREMAP_FIXED> is specified, then B<MREMAP_MAYMOVE> must also be "
-#| "specified."
msgid ""
"This flag serves a similar purpose to the B<MAP_FIXED> flag of B<mmap>(2). "
"If this flag is specified, then B<mremap>() accepts a fifth argument, I<void"
"specified, then B<MREMAP_MAYMOVE> must also be specified."
msgstr ""
"このフラグは B<mmap>(2) の B<MAP_FIXED> フラグと似たような目的で用いられ"
-"る。 このフラグが指定されると、 B<mremap>() は 5 番目の引き数 I<void "
+"る。 このフラグが指定されると、 B<mremap>() は 5 番目の引き数 I<void\\ "
"*new_address> を受け取り、この引数はマッピングが移動されるべきアドレスを指定"
"する。 このアドレスはページ境界に合っていなければならない。 I<new_address> "
"と I<new_size> で指定されるアドレス範囲に過去のマッピングがあった場合、 その"
msgid "MSYNC"
msgstr "MSYNC"
-#. type: TH
-#: build/C/man2/msync.2:25 build/C/man2/remap_file_pages.2:28
-#, no-wrap
-msgid "2008-04-22"
-msgstr "2008-04-22"
-
#. type: Plain text
#: build/C/man2/msync.2:28
msgid "msync - synchronize a file with a memory map"
#: build/C/man2/msync.2:48
msgid ""
"B<msync>() flushes changes made to the in-core copy of a file that was "
-"mapped into memory using B<mmap>(2) back to disk. Without use of this call "
-"there is no guarantee that changes are written back before B<munmap>(2) is "
-"called. To be more precise, the part of the file that corresponds to the "
-"memory area starting at I<addr> and having length I<length> is updated."
-msgstr ""
-"B<msync>() は B<mmap>(2) を使ってメモリにマップされたファイルの、 メモリ上"
-"のコピーになされた変更をディスクに反映させる。 この関数を使用しないと、 "
-"B<munmap>(2) が呼び出されるまで変更が書き戻される保証はない。 より正確には、"
-"ファイルのうち I<addr> から始まり長さ I<length> のメモリ領域に対応する部分が"
-"更新される。"
+"mapped into memory using B<mmap>(2) back to the filesystem. Without use of "
+"this call there is no guarantee that changes are written back before "
+"B<munmap>(2) is called. To be more precise, the part of the file that "
+"corresponds to the memory area starting at I<addr> and having length "
+"I<length> is updated."
+msgstr "B<msync>() は B<mmap>(2) を使ってメモリにマップされたファイルの、 メモリ上のコピーになされた変更をファイルシステムに反映させる。 この関数を使用しないと、 B<munmap>(2) が呼び出されるまで変更が書き戻される保証はない。 より正確には、ファイルのうち I<addr> から始まり長さ I<length> のメモリ領域に対応する部分が更新される。"
#. type: Plain text
#: build/C/man2/msync.2:68
#: build/C/man2/msync.2:105
msgid ""
"This call was introduced in Linux 1.3.21, and then used B<EFAULT> instead of "
-"B<ENOMEM>. In Linux 2.4.19 this was changed to the POSIX value B<ENOMEM>."
+"B<ENOMEM>. In Linux 2.4.19, this was changed to the POSIX value B<ENOMEM>."
msgstr ""
"この関数は Linux 1.3.21 で導入されたが、 B<ENOMEM> ではなく B<EFAULT> が使わ"
"れていた。 これは Linux 2.4.19 で POSIX における値 B<ENOMEM> に変更された。"
"B<_POSIX_SYNCHRONIZED_IO> の両方が I<E<lt>unistd.hE<gt>> で 0 より大きい値に"
"定義される。 (B<sysconf>(3) を参照すること。 )"
+#. commit 204ec841fbea3e5138168edbc3a76d46747cc987
+#. type: Plain text
+#: build/C/man2/msync.2:147
+msgid ""
+"According to POSIX, either B<MS_SYNC> or B<MS_ASYNC> must be specified in "
+"I<flags>, and indeed failure to include one of these flags will cause "
+"B<msync>() to fail on some systems. However, Linux permits a call to "
+"B<msync>() that specifies neither of these flags, with semantics that are "
+"(currently) equivalent to specifying B<MS_ASYNC>. (Since Linux 2.6.19, "
+"B<MS_ASYNC> is in fact a no-op, since the kernel properly tracks dirty pages "
+"and flushes them to storage as necessary.) Notwithstanding the Linux "
+"behavior, portable, future-proof applications should ensure that they "
+"specify either B<MS_SYNC> or B<MS_ASYNC> in I<flags>."
+msgstr ""
+"POSIX では B<MS_SYNC> と B<MS_ASYNC> のいずれかは必ず I<flags> に指定しなけれ"
+"ばならないとされており、 実際にこれらのフラグのいずれかを指定しなかった場合 "
+"B<msync>() が失敗するシステムもある。 しかし、 Linux ではこれらのフラグのいず"
+"れも指定せずに B<msync>() を呼び出すことができ、 その場合の動作は (現在のとこ"
+"ろ) B<MS_ASYNC> を指定した場合と等価である。 (Linux 2.6.19 以降では "
+"B<MS_ASYNC> は実際には no-op (何もしない命令) である。 これはカーネルが正し"
+"く dirty ページを追跡し、必要に応じてストレージにそれらをフラッシュするからで"
+"ある。) Linux の動作に関係なく、アプリケーションの移植性を考慮し、将来も確実"
+"に動くようにするには、 B<MS_SYNC> か B<MS_ASYNC> のいずれかを必ず I<flags> に"
+"指定するようにすべきである。"
+
#. type: TP
-#: build/C/man2/msync.2:122 build/C/man7/shm_overview.7:46
+#: build/C/man2/msync.2:149 build/C/man7/shm_overview.7:46
#, no-wrap
msgid "B<mmap>(2)"
msgstr "B<mmap>(2)"
msgid "MTRACE"
msgstr "MTRACE"
+#. type: TH
+#: build/C/man3/mtrace.3:25
+#, no-wrap
+msgid "2012-04-18"
+msgstr "2012-04-18"
+
#. type: Plain text
#: build/C/man3/mtrace.3:28
msgid "mtrace, muntrace - malloc tracing"
#: build/C/man3/mtrace.3:108
msgid ""
"The line-number information produced by B<mtrace>(1) is not always precise: "
-"the line number references may refer to the previous or following (non-"
-"blank) line of the source code."
+"the line number references may refer to the previous or following "
+"(nonblank) line of the source code."
msgstr ""
#. type: Plain text
#. type: Plain text
#: build/C/man3/mtrace.3:167
msgid ""
-"The first two messages about unfreed memory correspond to the two B<malloc>"
-"(3) calls inside the I<for> loop. The final message corresponds to the "
-"call to B<calloc>(3) (which in turn calls B<malloc>(3))."
+"The first two messages about unfreed memory correspond to the two "
+"B<malloc>(3) calls inside the I<for> loop. The final message corresponds "
+"to the call to B<calloc>(3) (which in turn calls B<malloc>(3))."
msgstr ""
#. type: Plain text
msgstr "POSIX_FADVISE"
#. type: TH
-#: build/C/man2/posix_fadvise.2:28 build/C/man2/readahead.2:28
-#: build/C/man2/sync_file_range.2:30
+#: build/C/man2/posix_fadvise.2:28
#, no-wrap
-msgid "2013-04-01"
-msgstr "2013-04-01"
+msgid "2014-05-03"
+msgstr "2014-05-03"
#. type: Plain text
#: build/C/man2/posix_fadvise.2:31
"of registers (see B<syscall>(2) for further detail). On such "
"architectures, the call signature of B<posix_fadvise>() shown in the "
"SYNOPSIS would force a register to be wasted as padding between the I<fd> "
-"and I<len> arguments. Therefore, these architectures define a version of "
+"and I<offset> arguments. Therefore, these architectures define a version of "
"the system call that orders the arguments suitably, but otherwise is "
"otherwise exactly the same as B<posix_fadvise>()."
msgstr ""
msgstr "POSIX_FALLOCATE"
#. type: TH
-#: build/C/man3/posix_fallocate.3:25 build/C/man2/shmop.2:41
+#: build/C/man3/posix_fallocate.3:25
#, no-wrap
msgid "2013-02-12"
msgstr "2013-02-12"
#. type: TH
#: build/C/man3/posix_memalign.3:29
#, no-wrap
-msgid "2012-03-23"
-msgstr "2012-03-23"
+msgid "2013-09-02"
+msgstr "2013-09-02"
#. type: Plain text
#: build/C/man3/posix_memalign.3:32
#. glibc does this:
#. type: Plain text
-#: build/C/man3/posix_memalign.3:103
-#, fuzzy
-#| msgid ""
-#| "The function B<posix_memalign>() allocates I<size> bytes and places the "
-#| "address of the allocated memory in I<*memptr>. The address of the "
-#| "allocated memory will be a multiple of I<alignment>, which must be a "
-#| "power of two and a multiple of I<sizeof(void *)>. If I<size> is 0, then "
-#| "B<posix_memalign>() returns either NULL, or a unique pointer value that "
-#| "can later be successfully passed to B<free>(3)."
+#: build/C/man3/posix_memalign.3:104
msgid ""
"The function B<posix_memalign>() allocates I<size> bytes and places the "
"address of the allocated memory in I<*memptr>. The address of the allocated "
"memory will be a multiple of I<alignment>, which must be a power of two and "
-"a multiple of I<sizeof(void\\ *)>. If I<size> is 0, then B<posix_memalign>"
-"() returns either NULL, or a unique pointer value that can later be "
+"a multiple of I<sizeof(void\\ *)>. If I<size> is 0, then the value placed "
+"in I<*memptr> is either NULL, or a unique pointer value that can later be "
"successfully passed to B<free>(3)."
msgstr ""
"関数 B<posix_memalign>() は、 I<size> バイトのメモリを割り当て、割り当てられ"
"たメモリのアドレスを I<*memptr> に設定する。 割り当てられたメモリのアドレス"
"は I<alignment> の倍数になっているはずである。 I<alignment> は 2 のべき乗で、"
-"かつ I<sizeof(void *)> の倍数でなければならない。 I<size> が 0 の場合、 "
-"B<posix_memalign>() は NULL か一意なポインタ値を返す。 このポインタ値は、後"
-"で B<free>(3) に問題なく渡すことができる。"
+"かつ I<sizeof(void\\ *)> の倍数でなければならない。 I<size> が 0 の場合、 "
+"I<*memptr> には NULL か一意なポインタ値が書かれる。 このポインタ値は、後で "
+"B<free>(3) に問題なく渡すことができる。"
#. The behavior of memalign() for size==0 is as for posix_memalign()
#. but no standards govern this.
#. type: Plain text
-#: build/C/man3/posix_memalign.3:114
+#: build/C/man3/posix_memalign.3:115
msgid ""
"The obsolete function B<memalign>() allocates I<size> bytes and returns a "
"pointer to the allocated memory. The memory address will be a multiple of "
"の倍数になっているはずである。 I<alignment> は 2 のべき乗でなければならない。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:123
+#: build/C/man3/posix_memalign.3:124
msgid ""
"The function B<aligned_alloc>() is the same as B<memalign>(), except for "
"the added restriction that I<size> should be a multiple of I<alignment>."
"の倍数でなければならないという追加の制限がある点が異なる。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:132
+#: build/C/man3/posix_memalign.3:133
msgid ""
"The obsolete function B<valloc>() allocates I<size> bytes and returns a "
"pointer to the allocated memory. The memory address will be a multiple of "
"る。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:139
+#: build/C/man3/posix_memalign.3:140
msgid ""
"The obsolete function B<pvalloc>() is similar to B<valloc>(), but rounds "
"the size of the allocation up to the next multiple of the system page size."
"割り当てられるサイズがシステムのページサイズの倍数に切り上げられる。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:141
+#: build/C/man3/posix_memalign.3:142
msgid "For all of these functions, the memory is not zeroed."
msgstr "これらの関数はいずれもメモリのゼロクリアを行わない。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:148
+#: build/C/man3/posix_memalign.3:149
msgid ""
"B<aligned_alloc>(), B<memalign>(), B<valloc>(), and B<pvalloc>() return a "
"pointer to the allocated memory, or NULL if the request fails."
"メモリへのポインタを返す。 割り当てに失敗した場合は NULL を返す。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:155
+#: build/C/man3/posix_memalign.3:157
msgid ""
"B<posix_memalign>() returns zero on success, or one of the error values "
-"listed in the next section on failure. Note that I<errno> is not set."
+"listed in the next section on failure. The value of I<errno> is "
+"indeterminate after a call to B<posix_memalign>()."
msgstr ""
"B<posix_memalign>() は成功した場合は 0 を返し、 失敗した場合は次のセクション"
-"に記載されたエラー値のいずれかを返す。 I<errno> はセットされないことに注意す"
-"ること。"
+"に記載されたエラー値のいずれかを返す。 B<posix_memalign>() の呼び出し後は "
+"I<errno> の値は不定である。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:162
-#, fuzzy
-#| msgid ""
-#| "The I<alignment> argument was not a power of two, or was not a multiple "
-#| "of I<sizeof(void *)>."
+#: build/C/man3/posix_memalign.3:164
msgid ""
"The I<alignment> argument was not a power of two, or was not a multiple of "
"I<sizeof(void\\ *)>."
msgstr ""
-"I<alignment> 引き数が 2 のべき乗でなかったか、 I<sizeof(void *)> の倍数でな"
+"I<alignment> 引き数が 2 のべき乗でなかったか、 I<sizeof(void\\ *)> の倍数でな"
"かった。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:165
+#: build/C/man3/posix_memalign.3:167
msgid "There was insufficient memory to fulfill the allocation request."
msgstr "割り当て要求を満たすのに十分なメモリがなかった。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:172
+#: build/C/man3/posix_memalign.3:174
msgid ""
"The functions B<memalign>(), B<valloc>(), and B<pvalloc>() have been "
"available in all Linux libc libraries."
"すべての Linux libc ライブラリで使用可能である。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:176
+#: build/C/man3/posix_memalign.3:178
msgid "The function B<aligned_alloc>() was added to glibc in version 2.16."
msgstr "関数 B<aligned_alloc>() は glibc バージョン 2.16 で追加された。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:180
+#: build/C/man3/posix_memalign.3:182
msgid "The function B<posix_memalign>() is available since glibc 2.1.91."
msgstr "関数 B<posix_fallocate>() は glibc 2.1.91 以降で利用可能である。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:187
+#: build/C/man3/posix_memalign.3:189
msgid ""
"The function B<valloc>() appeared in 3.0BSD. It is documented as being "
"obsolete in 4.3BSD, and as legacy in SUSv2. It does not appear in "
"SUSv2 では過去の名残だと記載されている。 POSIX.1-2001 には存在しない。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:191
+#: build/C/man3/posix_memalign.3:193
msgid "The function B<pvalloc>() is a GNU extension."
msgstr "関数 B<pvalloc>() は GNU による拡張である。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:195
+#: build/C/man3/posix_memalign.3:197
msgid "The function B<memalign>() appears in SunOS 4.1.3 but not in 4.4BSD."
msgstr "関数 B<memalign>() は SunOS 4.1.3 で登場したが、4.4BSD にはない。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:199
+#: build/C/man3/posix_memalign.3:201
msgid "The function B<posix_memalign>() comes from POSIX.1d."
msgstr "関数 B<posix_memalign>() は POSIX.1d に由来する。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:204
+#: build/C/man3/posix_memalign.3:206
msgid "The function B<aligned_alloc>() is specified in the C11 standard."
msgstr "関数 I<aligned_alloc>() は C11 標準で規定されている。"
#. type: SS
-#: build/C/man3/posix_memalign.3:204
+#: build/C/man3/posix_memalign.3:206
#, no-wrap
msgid "Headers"
msgstr "ヘッダ"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:208
+#: build/C/man3/posix_memalign.3:210
msgid ""
"Everybody agrees that B<posix_memalign>() is declared in I<E<lt>stdlib."
"hE<gt>>."
"の意見が一致している。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:212
+#: build/C/man3/posix_memalign.3:214
msgid ""
"On some systems B<memalign>() is declared in I<E<lt>stdlib.hE<gt>> instead "
"of I<E<lt>malloc.hE<gt>>."
"I<E<lt>stdlib.hE<gt>> で宣言されている。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:219
+#: build/C/man3/posix_memalign.3:221
msgid ""
"According to SUSv2, B<valloc>() is declared in I<E<lt>stdlib.hE<gt>>. "
"Libc4,5 and glibc declare it in I<E<lt>malloc.hE<gt>>, and also in "
"マクロが定義された場合には I<E<lt>stdlib.hE<gt>> でも宣言される(上記を参照)。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:228
+#: build/C/man3/posix_memalign.3:230
msgid ""
"On many systems there are alignment restrictions, for example, on buffers "
"used for direct block device I/O. POSIX specifies the I<pathconf(path,"
"と、この必要条件を満たすことができる。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:237
+#: build/C/man3/posix_memalign.3:239
msgid ""
"B<posix_memalign>() verifies that I<alignment> matches the requirements "
"detailed above. B<memalign>() may not check that the I<alignment> argument "
#. but not to
#. .IR realloc (3).
#. type: Plain text
-#: build/C/man3/posix_memalign.3:265
+#: build/C/man3/posix_memalign.3:267
msgid ""
"POSIX requires that memory obtained from B<posix_memalign>() can be freed "
"using B<free>(3). Some systems provide no way to reclaim memory allocated "
"with B<memalign>() or B<valloc>() (because one can pass to B<free>(3) "
-"only a pointer obtained from B<malloc>(3), while, for example, B<memalign>"
-"() would call B<malloc>(3) and then align the obtained value). The glibc "
-"implementation allows memory obtained from any of these functions to be "
-"reclaimed with B<free>(3)."
+"only a pointer obtained from B<malloc>(3), while, for example, "
+"B<memalign>() would call B<malloc>(3) and then align the obtained value). "
+"The glibc implementation allows memory obtained from any of these functions "
+"to be reclaimed with B<free>(3)."
msgstr ""
"POSIX では B<posix_memalign>() によって獲得したメモリは B<free>(3) を\n"
"使って解放することができる必要がある。 いくつかのシステムでは\n"
"B<free>(3) で再利用することができる。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:270
+#: build/C/man3/posix_memalign.3:272
msgid ""
"The glibc B<malloc>(3) always returns 8-byte aligned memory addresses, so "
"these functions are needed only if you require larger alignment values."
"が必要な場合だけである。"
#. type: Plain text
-#: build/C/man3/posix_memalign.3:275
+#: build/C/man3/posix_memalign.3:277
msgid "B<brk>(2), B<getpagesize>(2), B<free>(3), B<malloc>(3)"
msgstr "B<brk>(2), B<getpagesize>(2), B<free>(3), B<malloc>(3)"
msgid "READAHEAD"
msgstr "READAHEAD"
+#. type: TH
+#: build/C/man2/readahead.2:28
+#, no-wrap
+msgid "2014-03-15"
+msgstr "2014-03-15"
+
#. type: Plain text
#: build/C/man2/readahead.2:31
-msgid "readahead - perform file readahead into page cache"
+msgid "readahead - initiate file readahead into page cache"
msgstr "readahead - 前もってファイルをページ・キャッシュに読み込む"
#. type: Plain text
msgstr "B<ssize_t readahead(int >I<fd>B<, off64_t >I<offset>B<, size_t >I<count>B<);>\n"
#. type: Plain text
-#: build/C/man2/readahead.2:65
+#: build/C/man2/readahead.2:44
+msgid ""
+"B<readahead>() initiates readahead on a file so that subsequent reads from "
+"that file will be satisfied from the cache, and not block on disk I/O "
+"(assuming the readahead was initiated early enough and that other activity "
+"on the system did not in the meantime flush pages from the cache)."
+msgstr ""
+"B<readahead>() はファイルの先読みを行い、そのファイルに対する後の読み込みが"
+"キャッシュから行われ、ディスク I/O で停止しないようにする (この条件を満たせる"
+"のは、先読みは十分早く行われ、システムの他の動作によりその後にキャッシュから"
+"ページがフラッシュされない場合である)。"
+
+#. type: Plain text
+#: build/C/man2/readahead.2:66
msgid ""
-"B<readahead>() populates the page cache with data from a file so that "
-"subsequent reads from that file will not block on disk I/O. The I<fd> "
-"argument is a file descriptor identifying the file which is to be read. The "
-"I<offset> argument specifies the starting point from which data is to be "
-"read and I<count> specifies the number of bytes to be read. I/O is "
+"The I<fd> argument is a file descriptor identifying the file which is to be "
+"read. The I<offset> argument specifies the starting point from which data "
+"is to be read and I<count> specifies the number of bytes to be read. I/O is "
"performed in whole pages, so that I<offset> is effectively rounded down to a "
"page boundary and bytes are read up to the next page boundary greater than "
"or equal to I<(offset+count)>. B<readahead>() does not read beyond the end "
-"of the file. B<readahead>() blocks until the specified data has been "
-"read. The current file offset of the open file referred to by I<fd> is left "
-"unchanged."
+"of the file. The current file offset of the open file referred to by I<fd> "
+"is left unchanged."
msgstr ""
-"B<readahead>() は、この後の同じファイルからのデータ読み込み時にディスク I/O "
-"で 動作が停止 (block) しないように、前もってファイルの内容を ページ・キャッ"
-"シュに読み込む。 I<fd> 引き数は読み込みを行うファイルを識別するファイル・ディ"
-"スクリプタである。 I<offset> 引き数はデータの読み込み開始位置を指定し、 "
-"I<count> は読み込むデータのバイト数を指定する。 ディスク I/O はページ単位で実"
-"行されるので、 実際には I<offset> はページ境界に切り下げられ、読み込みバイト"
-"数は I<(offset+count)> より小さくない次のページ境界まで切り上げられる。 "
-"B<readahead>() はファイルの末尾を越えた範囲まで読み出しを行うことはない。ま"
-"た、 B<readahead>() は指定したデータの読み込みが終わるまで停止 (block) す"
-"る。 I<fd> で参照されたオープン済のファイルのファイルオフセットの現在値は 変"
-"更されない。"
+"I<fd> 引き数は読み込みを行うファイルを識別するファイル・ディスクリプタであ"
+"る。 I<offset> 引き数はデータの読み込み開始位置を指定し、 I<count> は読み込む"
+"データのバイト数を指定する。 ディスク I/O はページ単位で実行されるので、 実際"
+"には I<offset> はページ境界に切り下げられ、読み込みバイト数は I<(offset"
+"+count)> より小さくない次のページ境界まで切り上げられる。 B<readahead>() は"
+"ファイルの末尾を越えた範囲まで読み出しを行うことはない。 I<fd> で参照された"
+"オープン済のファイルのファイルオフセットの現在値は 変更されない。"
#. type: Plain text
-#: build/C/man2/readahead.2:71
+#: build/C/man2/readahead.2:72
msgid ""
"On success, B<readahead>() returns 0; on failure, -1 is returned, with "
"I<errno> set to indicate the cause of the error."
"ラーの原因を示す値を設定する。"
#. type: Plain text
-#: build/C/man2/readahead.2:76
+#: build/C/man2/readahead.2:77
msgid "I<fd> is not a valid file descriptor or is not open for reading."
msgstr ""
"I<fd> が有効なファイル・ディスクリプタでない、または 読み込み用にオープンされ"
"ていない。"
#. type: Plain text
-#: build/C/man2/readahead.2:82
+#: build/C/man2/readahead.2:83
msgid ""
"I<fd> does not refer to a file type to which B<readahead>() can be applied."
msgstr ""
"ファイルであった。"
#. type: Plain text
-#: build/C/man2/readahead.2:87
+#: build/C/man2/readahead.2:88
msgid ""
"The B<readahead>() system call appeared in Linux 2.4.13; glibc support has "
"been provided since version 2.3."
"は glibc バージョン 2.3 以降で行われている。"
#. type: Plain text
-#: build/C/man2/readahead.2:92
+#: build/C/man2/readahead.2:93
msgid ""
"The B<readahead>() system call is Linux-specific, and its use should be "
"avoided in portable applications."
"は 使用を避けるべきである。"
#. type: Plain text
-#: build/C/man2/readahead.2:97
+#: build/C/man2/readahead.2:98
msgid ""
"On some 32-bit architectures, the calling signature for this system call "
"differs, for the reasons described in B<syscall>(2)."
"チャーが違っている。 理由は B<syscall>(2) で説明されている。"
#. type: Plain text
-#: build/C/man2/readahead.2:103
+#: build/C/man2/readahead.2:107
+msgid ""
+"B<readahead>() attempts to schedule the reads in the background and return "
+"immediately. However, it may block while it reads the filesystem metadata "
+"needed to locate the requested blocks. This occurs frequently with ext[234] "
+"on large files using indirect blocks instead of extents, giving the "
+"appearance that the call blocks until the requested data has been read."
+msgstr ""
+"B<readahead>() は読み込みをバックグラウンドで行うようにスケジューリングを行"
+"い、すぐに返る。 しかしながら、要求されたブロックの位置を知るために必要なファ"
+"イルシステムのメタデータを読み込む間は B<readahead>() は停止することがある。 "
+"これは ext[234] で大きなファイルをエクステントではなく間接ブロックを使う場合"
+"にしばしば発生し、 要求したデータが読み込まれるまで呼び出しが停止しているよう"
+"に見える。"
+
+#. type: Plain text
+#: build/C/man2/readahead.2:113
msgid "B<lseek>(2), B<madvise>(2), B<mmap>(2), B<posix_fadvise>(2), B<read>(2)"
msgstr ""
"B<lseek>(2), B<madvise>(2), B<mmap>(2), B<posix_fadvise>(2), B<read>(2)"
msgid "REMAP_FILE_PAGES"
msgstr "REMAP_FILE_PAGES"
+#. type: TH
+#: build/C/man2/remap_file_pages.2:28
+#, no-wrap
+msgid "2014-05-10"
+msgstr "2014-05-10"
+
#. type: Plain text
#: build/C/man2/remap_file_pages.2:31
msgid "remap_file_pages - create a nonlinear file mapping"
msgid ""
"The B<remap_file_pages>() system call is used to create a nonlinear "
"mapping, that is, a mapping in which the pages of the file are mapped into a "
-"nonsequential order in memory. The advantage of using B<remap_file_pages>"
-"() over using repeated calls to B<mmap>(2) is that the former approach "
-"does not require the kernel to create additional VMA (Virtual Memory Area) "
-"data structures."
+"nonsequential order in memory. The advantage of using "
+"B<remap_file_pages>() over using repeated calls to B<mmap>(2) is that the "
+"former approach does not require the kernel to create additional VMA "
+"(Virtual Memory Area) data structures."
msgstr ""
"B<remap_file_pages>() システムコールは非線形なマッピング、 つまりファイルの"
"ページがメモリ上で連続しない順番でマップされる マッピングを作成するために使わ"
"and I<size> will be placed."
msgstr ""
"I<addr> 引き数は 2 つの目的で使われる。 第 1 の目的は、この引き数によって再編"
-"成したいページの マッピングを識別することである。 よって I<addr> は B<mmap>"
-"(2) の呼び出しで過去にマップされた領域内のアドレスでなければならない。 第 2 "
-"ã\81®ç\9b®ç\9a\84ã\81¯ã\80\81 I<pgoff> ã\81¨ I<size> ã\81§è\98å\88¥ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\9aã\83¼ã\82¸ã\81\8cç½®ã\81\8bã\82\8cã\82\8bäº\88å®\9aã\81®ã\82¢ã\83\89"
-"レスを、 I<addr> によって指定することである。"
+"成したいページの マッピングを識別することである。 よって I<addr> は "
+"B<mmap>(2) の呼び出しで過去にマップされた領域内のアドレスでなければならな"
+"ã\81\84ã\80\82 第 2 ã\81®ç\9b®ç\9a\84ã\81¯ã\80\81 I<pgoff> ã\81¨ I<size> ã\81§è\98å\88¥ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\9aã\83¼ã\82¸ã\81\8cç½®ã\81\8bã\82\8cã\82\8b"
+"予定のアドレスを、 I<addr> によって指定することである。"
#. This rounding is weird, and not consistent with the treatment of
#. the analogous arguments for munmap()/mprotect() and for mlock().
msgid "The B<remap_file_pages>() system call is Linux-specific."
msgstr "B<remap_file_pages>() システムコールは Linux 固有のものである。"
+#. commit 3ee6dafc677a68e461a7ddafc94a580ebab80735
#. type: Plain text
-#: build/C/man2/remap_file_pages.2:164
+#: build/C/man2/remap_file_pages.2:168
+msgid ""
+"Since Linux 2.6.23, B<remap_file_pages>() creates non-linear mappings only "
+"on in-memory file systems such as tmpfs, hugetlbfs or ramfs. On filesystems "
+"with a backing store, B<remap_file_pages>() is not much more efficient than "
+"using B<mmap>(2) to adjust which parts of the file are mapped to which "
+"addresses."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/remap_file_pages.2:175
msgid ""
"B<getpagesize>(2), B<mmap>(2), B<mmap2>(2), B<mprotect>(2), B<mremap>(2), "
"B<msync>(2)"
msgstr ""
"B<shm_open>() は、POSIX 共有メモリ・オブジェクトを新規に作成/オープンした"
"り、 すでに存在するオブジェクトをオープンしたりする。 POSIX 共有メモリ・オブ"
-"ジェクトは、実際には、関係のないプロセスが 共有メモリの同じ領域を B<mmap>"
-"(2) するために使用することができる手段である。 B<shm_unlink>() は、逆の操"
-"作、つまり以前に B<shm_open>() で作成されたオブジェクトの削除を行う。"
+"ジェクトは、実際には、関係のないプロセスが 共有メモリの同じ領域を "
+"B<mmap>(2) するために使用することができる手段である。 B<shm_unlink>() は、"
+"逆の操作、つまり以前に B<shm_open>() で作成されたオブジェクトの削除を行う。"
#. glibc allows the initial slash to be omitted, and makes
#. multiple initial slashes equivalent to a single slash.
"B<shm_open>() の動作は B<open>(2) とよく似ている。 I<name> で作成したりオー"
"プンしたりする共有メモリ・オブジェクトを指定する。 移植性を持たせるためには、"
"共有メモリ・オブジェクトは I</somename> という形式の名前で識別し、 その名前"
-"は、最大で B<NAME_MAX> (すなわち 255) 文字の NULL 終端された文字列で、 スラッ"
+"は、最大で B<NAME_MAX> (すなわち 255) 文字のヌル終端された文字列で、 スラッ"
"シュで始まり、スラッシュ以外の文字が 1 文字以上続く形式 にすべきである。"
#. type: Plain text
#. type: Plain text
#: build/C/man3/shm_open.3:89
-#, fuzzy
-#| msgid ""
-#| "Open the object for read access. A shared memory object opened in this "
-#| "way can be B<mmap>(2)ed only for read (B<PROT_READ>) access."
msgid ""
"Open the object for read access. A shared memory object opened in this way "
"can be B<mmap>(2)ed only for read (B<PROT_READ>) access."
msgid "B<O_CREAT>"
msgstr "B<O_CREAT>"
-#. In truth it is actually the file system IDs on Linux, but these
+#. In truth it is actually the filesystem IDs on Linux, but these
#. are nearly always the same as the effective IDs. (MTK, Jul 05)
#. type: Plain text
#: build/C/man3/shm_open.3:112
"(for a newly created object) and B<mmap>(2). After a call to B<mmap>(2) "
"the file descriptor may be closed without affecting the memory mapping."
msgstr ""
-"通常、これらのファイル・ディスクリプタは、この後続けて実行される B<ftruncate>"
-"(2) (新規に作成されたオブジェクトの場合のみ) と B<mmap>(2) の呼び出しに使用"
-"される。 B<mmap>(2) を呼び出した後は、ファイル・ディスクリプタをクローズして"
-"もよく、 クローズしてもメモリ・マッピングに影響を与えることはない。"
+"通常、これらのファイル・ディスクリプタは、この後続けて実行される "
+"B<ftruncate>(2) (新規に作成されたオブジェクトの場合のみ) と B<mmap>(2) の呼"
+"び出しに使用される。 B<mmap>(2) を呼び出した後は、ファイル・ディスクリプタを"
+"クローズしてもよく、 クローズしてもメモリ・マッピングに影響を与えることはな"
+"い。"
#. type: Plain text
#: build/C/man3/shm_open.3:171
"み権限が なかった。"
#. type: TP
-#: build/C/man3/shm_open.3:202 build/C/man2/shmget.2:195
+#: build/C/man3/shm_open.3:202 build/C/man2/shmget.2:198
#, no-wrap
msgid "B<EEXIST>"
msgstr "B<EEXIST>"
#. type: TP
#: build/C/man3/shm_open.3:233 build/C/man3/shm_open.3:242
-#: build/C/man2/shmget.2:209
+#: build/C/man2/shmget.2:226
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"
#: build/C/man3/shm_open.3:271
msgid ""
"The POSIX shared memory object implementation on Linux 2.4 makes use of a "
-"dedicated file system, which is normally mounted under I</dev/shm>."
+"dedicated filesystem, which is normally mounted under I</dev/shm>."
msgstr ""
"Linux 2.4 における POSIX 共有メモリ・オブジェクトの実装は 専用のファイルシス"
"テムを使用する。そのファイルシステムは通常 I</dev/shm> にマウントされる。"
#. type: SS
#: build/C/man7/shm_overview.7:94
#, no-wrap
-msgid "Accessing shared memory objects via the file system"
+msgid "Accessing shared memory objects via the filesystem"
msgstr "ファイルシステム経由での共有メモリオブジェクトへのアクセス"
#. type: Plain text
#: build/C/man7/shm_overview.7:101
msgid ""
-"On Linux, shared memory objects are created in a (I<tmpfs>) virtual file "
-"system, normally mounted under I</dev/shm>. Since kernel 2.6.19, Linux "
+"On Linux, shared memory objects are created in a (I<tmpfs>) virtual "
+"filesystem, normally mounted under I</dev/shm>. Since kernel 2.6.19, Linux "
"supports the use of access control lists (ACLs) to control the permissions "
-"of objects in the virtual file system."
+"of objects in the virtual filesystem."
msgstr ""
"Linux では、共有メモリオブジェクトは通常 I</dev/shm> 以下にマウントされる仮想"
"ファイルシステム (I<tmpfs>) 内に作成される。 カーネル 2.6.19 以降の Linux で"
#. type: TH
#: build/C/man2/shmctl.2:45
#, no-wrap
-msgid "2013-03-18"
-msgstr "2013-03-18"
+msgid "2014-02-07"
+msgstr "2014-02-07"
#. type: Plain text
#: build/C/man2/shmctl.2:48
#. type: Plain text
#: build/C/man2/shmctl.2:62
msgid ""
-"B<shmctl>() performs the control operation specified by I<cmd> on the "
-"System V shared memory segment whose identifier is given in I<shmid>."
-msgstr ""
-"B<shmctl>() は、識別子が I<shmid> の System V 共有メモリ・セグメントに対し"
-"て I<cmd> で指示した制御命令を実行する。"
+"B<shmctl>() performs the control operation specified by I<cmd> on the System"
+"\\ V shared memory segment whose identifier is given in I<shmid>."
+msgstr "B<shmctl>() は、識別子が I<shmid> の System\\ V 共有メモリ・セグメントに対して I<cmd> で指示した制御命令を実行する。"
#. type: Plain text
#: build/C/man2/shmctl.2:67
msgstr "B<IPC_RMID>"
#. type: Plain text
-#: build/C/man2/shmctl.2:153
+#: build/C/man2/shmctl.2:149
msgid ""
"Mark the segment to be destroyed. The segment will only actually be "
"destroyed after the last process detaches it (i.e., when the I<shm_nattch> "
"member of the associated structure I<shmid_ds> is zero). The caller must be "
-"the owner or creator, or be privileged. If a segment has been marked for "
-"destruction, then the (nonstandard) B<SHM_DEST> flag of the I<shm_perm."
-"mode> field in the associated data structure retrieved by B<IPC_STAT> will "
-"be set."
+"the owner or creator of the segment, or be privileged. The I<buf> argument "
+"is ignored."
msgstr ""
"セグメントに破棄済みのマークを付ける。 セグメントは、実際には最後プロセスがセ"
"グメントを分離した (関連する I<shmid_ds> 構造体の I<shm_nattch> メンバーが 0 "
-"になった) 後でのみ破棄される。 呼び出し元は所有者か作成者であるか、特権を持た"
-"なければならない。 セグメントに破棄のマークが付けられると、 関連するデータ構"
-"造体において I<shm_perm.mode> フィールドの (標準ではない) B<SHM_DEST> フラグ"
-"が設定される。 このデータ構造体は B<IPC_STAT> で取得される。"
+"になった) 後でのみ破棄される。 呼び出し元はそのセグメントの所有者か作成者であ"
+"るか、特権を持たなければならない。 I<buf> 引き数は無視される。"
+
+#. type: Plain text
+#: build/C/man2/shmctl.2:157
+msgid ""
+"If a segment has been marked for destruction, then the (nonstandard) "
+"B<SHM_DEST> flag of the I<shm_perm.mode> field in the associated data "
+"structure retrieved by B<IPC_STAT> will be set."
+msgstr ""
+"セグメントに破棄のマークが付けられると、 関連するデータ構造体において "
+"I<shm_perm.mode> フィールドの (標準ではない) B<SHM_DEST> フラグが設定され"
+"る。 このデータ構造体は B<IPC_STAT> で取得される。"
#. type: Plain text
-#: build/C/man2/shmctl.2:156
+#: build/C/man2/shmctl.2:160
msgid ""
"The caller I<must> ensure that a segment is eventually destroyed; otherwise "
"its pages that were faulted in will remain in memory or swap."
"る。"
#. type: Plain text
-#: build/C/man2/shmctl.2:161
+#: build/C/man2/shmctl.2:165
msgid ""
-"See also the description of I</proc/sys/kernel/shm_rmid_forced> in B<proc>"
-"(5)."
+"See also the description of I</proc/sys/kernel/shm_rmid_forced> in "
+"B<proc>(5)."
msgstr "B<proc>(5) の I</proc/sys/kernel/shm_rmid_forced> の説明も参照のこと。"
#. type: TP
-#: build/C/man2/shmctl.2:161
+#: build/C/man2/shmctl.2:165
#, no-wrap
msgid "B<IPC_INFO> (Linux-specific)"
msgstr "B<IPC_INFO> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/shmctl.2:174
+#: build/C/man2/shmctl.2:178
msgid ""
-"Returns information about system-wide shared memory limits and parameters in "
+"Return information about system-wide shared memory limits and parameters in "
"the structure pointed to by I<buf>. This structure is of type I<shminfo> "
"(thus, a cast is required), defined in I<E<lt>sys/shm.hE<gt>> if the "
"B<_GNU_SOURCE> feature test macro is defined:"
"I<E<lt>sys/shm.hE<gt>> で以下のように定義される:"
#. type: Plain text
-#: build/C/man2/shmctl.2:188
+#: build/C/man2/shmctl.2:192
#, no-wrap
msgid ""
-"struct shminfo {\n"
+"struct shminfo {\n"
" unsigned long shmmax; /* Maximum segment size */\n"
" unsigned long shmmin; /* Minimum segment size;\n"
" always 1 */\n"
"};\n"
#. type: Plain text
-#: build/C/man2/shmctl.2:201
+#: build/C/man2/shmctl.2:205
msgid ""
"The I<shmmni>, I<shmmax>, and I<shmall> settings can be changed via I</proc> "
"files of the same name; see B<proc>(5) for details."
"で変更可能である。 詳しくは B<proc>(5) を参照。"
#. type: TP
-#: build/C/man2/shmctl.2:201
+#: build/C/man2/shmctl.2:205
#, no-wrap
msgid "B<SHM_INFO> (Linux-specific)"
msgstr "B<SHM_INFO> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/shmctl.2:212
+#: build/C/man2/shmctl.2:216
msgid ""
-"Returns a I<shm_info> structure whose fields contain information about "
-"system resources consumed by shared memory. This structure is defined in "
+"Return a I<shm_info> structure whose fields contain information about system "
+"resources consumed by shared memory. This structure is defined in "
"I<E<lt>sys/shm.hE<gt>> if the B<_GNU_SOURCE> feature test macro is defined:"
msgstr ""
"共有メモリが消費しているシステム資源に関する情報を 格納した I<shm_info> 構造"
"I<E<lt>sys/shm.hE<gt>> で以下のように定義される:"
#. type: Plain text
-#: build/C/man2/shmctl.2:229
+#: build/C/man2/shmctl.2:233
#, no-wrap
msgid ""
"struct shm_info {\n"
"};\n"
#. type: TP
-#: build/C/man2/shmctl.2:231
+#: build/C/man2/shmctl.2:235
#, no-wrap
msgid "B<SHM_STAT> (Linux-specific)"
msgstr "B<SHM_STAT> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/shmctl.2:242
+#: build/C/man2/shmctl.2:246
msgid ""
-"Returns a I<shmid_ds> structure as for B<IPC_STAT>. However, the I<shmid> "
+"Return a I<shmid_ds> structure as for B<IPC_STAT>. However, the I<shmid> "
"argument is not a segment identifier, but instead an index into the kernel's "
"internal array that maintains information about all shared memory segments "
"on the system."
"管理するカーネルの内部配列へのインデックス である。"
#. type: Plain text
-#: build/C/man2/shmctl.2:245
+#: build/C/man2/shmctl.2:249
msgid ""
"The caller can prevent or allow swapping of a shared memory segment with the "
"following I<cmd> values:"
"ワップされることを防止したり、許可したりできる:"
#. type: TP
-#: build/C/man2/shmctl.2:246
+#: build/C/man2/shmctl.2:250
#, no-wrap
msgid "B<SHM_LOCK> (Linux-specific)"
msgstr "B<SHM_LOCK> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/shmctl.2:258
+#: build/C/man2/shmctl.2:262
msgid ""
"Prevent swapping of the shared memory segment. The caller must fault in any "
"pages that are required to be present after locking is enabled. If a "
"れる。 このデータ構造体は B<IPC_STAT> で取得される。"
#. type: TP
-#: build/C/man2/shmctl.2:258
+#: build/C/man2/shmctl.2:262
#, no-wrap
msgid "B<SHM_UNLOCK> (Linux-specific)"
msgstr "B<SHM_UNLOCK> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/shmctl.2:261
+#: build/C/man2/shmctl.2:265
msgid "Unlock the segment, allowing it to be swapped out."
msgstr "セグメントのロックを解除し、スワップ・アウトすることを可能にする。"
#. This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed
#. in 2.6.10. MTK, May 2005
#. type: Plain text
-#: build/C/man2/shmctl.2:279
+#: build/C/man2/shmctl.2:283
msgid ""
"In kernels before 2.6.10, only a privileged process could employ B<SHM_LOCK> "
"and B<SHM_UNLOCK>. Since kernel 2.6.10, an unprivileged process can employ "
"上限 (B<setrlimit>(2) 参照) の範囲内に入っていることである。"
#. type: Plain text
-#: build/C/man2/shmctl.2:297
+#: build/C/man2/shmctl.2:301
msgid ""
"A successful B<IPC_INFO> or B<SHM_INFO> operation returns the index of the "
"highest used entry in the kernel's internal array recording information "
"メモリセグメントの識別子を返す。 他の操作は、成功の場合 0 を返す。"
#. type: Plain text
-#: build/C/man2/shmctl.2:301
+#: build/C/man2/shmctl.2:305
msgid "On error, -1 is returned, and I<errno> is set appropriately."
msgstr "エラーの場合は -1 を返し、 I<errno> を適切に設定する。"
#. type: Plain text
-#: build/C/man2/shmctl.2:310
+#: build/C/man2/shmctl.2:314
msgid ""
"B<IPC_STAT> or B<SHM_STAT> is requested and I<shm_perm.mode> does not allow "
"read access for I<shmid>, and the calling process does not have the "
"ケーパビリティ (capability) を持っていない。"
#. type: Plain text
-#: build/C/man2/shmctl.2:321
+#: build/C/man2/shmctl.2:325
msgid ""
"The argument I<cmd> has value B<IPC_SET> or B<IPC_STAT> but the address "
"pointed to by I<buf> isn't accessible."
"るアドレスにアクセスできない。"
#. type: TP
-#: build/C/man2/shmctl.2:321 build/C/man2/shmop.2:197
+#: build/C/man2/shmctl.2:325 build/C/man2/shmop.2:194
#, no-wrap
msgid "B<EIDRM>"
msgstr "B<EIDRM>"
#. type: Plain text
-#: build/C/man2/shmctl.2:324 build/C/man2/shmop.2:200
+#: build/C/man2/shmctl.2:328 build/C/man2/shmop.2:197
msgid "I<shmid> points to a removed identifier."
msgstr "I<shmid> が削除 (remove) された識別子 (identifier) を指している。"
#. type: Plain text
-#: build/C/man2/shmctl.2:333
+#: build/C/man2/shmctl.2:337
msgid ""
"I<shmid> is not a valid identifier, or I<cmd> is not a valid command. Or: "
"for a B<SHM_STAT> operation, the index value specified in I<shmid> referred "
"配列のスロットを参照していた。"
#. type: Plain text
-#: build/C/man2/shmctl.2:344
+#: build/C/man2/shmctl.2:348
msgid ""
"(In kernels since 2.6.9), B<SHM_LOCK> was specified and the size of the to-"
"be-locked segment would mean that the total bytes in locked shared memory "
"B<RLIMIT_MEMLOCK> ソフト資源制限で定義される (B<setrlimit>(2) を参照)。"
#. type: Plain text
-#: build/C/man2/shmctl.2:349
+#: build/C/man2/shmctl.2:353
msgid ""
"B<IPC_STAT> is attempted, and the GID or UID value is too large to be stored "
"in the structure pointed to by I<buf>."
"には大き過ぎる。"
#. type: Plain text
-#: build/C/man2/shmctl.2:361
+#: build/C/man2/shmctl.2:365
msgid ""
"B<IPC_SET> or B<IPC_RMID> is attempted, and the effective user ID of the "
"calling process is not that of the creator (found in I<shm_perm.cuid>), or "
"特権を持たない (Linux では B<CAP_SYS_ADMIN> ケーパビリティを持たない)。"
#. type: Plain text
-#: build/C/man2/shmctl.2:373
+#: build/C/man2/shmctl.2:377
msgid ""
"Or (in kernels before 2.6.9), B<SHM_LOCK> or B<SHM_UNLOCK> was specified, "
"but the process was not privileged (Linux: did not have the B<CAP_IPC_LOCK> "
#. SVr4 documents an additional error condition EMFILE.
#. type: Plain text
-#: build/C/man2/shmctl.2:378 build/C/man2/shmget.2:235
-#: build/C/man2/shmop.2:234
+#: build/C/man2/shmctl.2:382 build/C/man2/shmget.2:252
+#: build/C/man2/shmop.2:231
msgid "SVr4, POSIX.1-2001."
msgstr "SVr4, POSIX.1-2001."
#. Like Linux, the FreeBSD man pages still document
#. the inclusion of these header files.
#. type: Plain text
-#: build/C/man2/shmctl.2:391 build/C/man2/shmget.2:251
+#: build/C/man2/shmctl.2:395 build/C/man2/shmget.2:270
msgid ""
"The inclusion of I<E<lt>sys/types.hE<gt>> and I<E<lt>sys/ipc.hE<gt>> isn't "
"required on Linux or by any version of POSIX. However, some old "
"れない。"
#. type: Plain text
-#: build/C/man2/shmctl.2:402
+#: build/C/man2/shmctl.2:407
msgid ""
"The B<IPC_INFO>, B<SHM_STAT> and B<SHM_INFO> operations are used by the "
"B<ipcs>(1) program to provide information on allocated resources. In the "
-"future these may modified or moved to a /proc file system interface."
+"future, these may modified or moved to a I</proc> filesystem interface."
msgstr ""
"B<IPC_INFO>, B<SHM_STAT>, B<SHM_INFO> 操作は、 B<ipcs>(1) プログラムで割り当"
"て済の資源に関する情報を提供するために 使用されている。将来、これらの操作は変"
-"更されたり、 /proc ファイルシステムのインタフェースに移動されるかもしれない。"
+"更されたり、 I</proc> ファイルシステムのインタフェースに移動されるかもしれな"
+"い。"
#. type: Plain text
-#: build/C/man2/shmctl.2:410
+#: build/C/man2/shmctl.2:415
msgid ""
"Linux permits a process to attach (B<shmat>(2)) a shared memory segment "
"that has already been marked for deletion using I<shmctl(IPC_RMID)>. This "
"プリケーションではこれに依存しないようにすべきである。"
#. type: Plain text
-#: build/C/man2/shmctl.2:423
+#: build/C/man2/shmctl.2:428
msgid ""
"Various fields in a I<struct shmid_ds> were typed as I<short> under Linux "
"2.2 and have become I<long> under Linux 2.4. To take advantage of this, a "
"古い形式の呼び出しを I<cmd> 内の B<IPC_64> フラグで区別する。"
#. type: Plain text
-#: build/C/man2/shmctl.2:430
+#: build/C/man2/shmctl.2:435
msgid ""
"B<mlock>(2), B<setrlimit>(2), B<shmget>(2), B<shmop>(2), B<capabilities>(7), "
"B<svipc>(7)"
msgid "SHMGET"
msgstr "SHMGET"
+#. type: TH
+#: build/C/man2/shmget.2:38
+#, no-wrap
+msgid "2014-05-21"
+msgstr "2014-05-21"
+
#. type: Plain text
#: build/C/man2/shmget.2:41
msgid "shmget - allocates a System V shared memory segment"
#. type: Plain text
#: build/C/man2/shmget.2:72
msgid ""
-"B<shmget>() returns the identifier of the System V shared memory segment "
+"B<shmget>() returns the identifier of the System\\ V shared memory segment "
"associated with the value of the argument I<key>. A new shared memory "
"segment, with size equal to the value of I<size> rounded up to a multiple of "
"B<PAGE_SIZE>, is created if I<key> has the value B<IPC_PRIVATE> or I<key> "
"isn't B<IPC_PRIVATE>, no shared memory segment corresponding to I<key> "
"exists, and B<IPC_CREAT> is specified in I<shmflg>."
-msgstr ""
-"B<shmget>() は I<key> 引き数に対応する System V 共有メモリ・セグメントの識別"
-"子を返す。 I<key> の値が B<IPC_PRIVATE> の場合、もしくは I<key> に対応する共"
-"有メモリ・セグメントが存在せず、 I<shmflg> に B<IPC_CREAT> が指定されていた場"
-"合、 新しい共有メモリ・セグメントを作成する。 作成される共有メモリ・セグメン"
-"トは、 I<size> 引き数の値を B<PAGE_SIZE> の倍数へと切り上げた (round up) 大き"
-"さとなる。"
+msgstr "B<shmget>() は I<key> 引き数に対応する System\\ V 共有メモリ・セグメントの識別子を返す。 I<key> の値が B<IPC_PRIVATE> の場合、もしくは I<key> に対応する共有メモリ・セグメントが存在せず、 I<shmflg> に B<IPC_CREAT> が指定されていた場合、 新しい共有メモリ・セグメントを作成する。 作成される共有メモリ・セグメントは、 I<size> 引き数の値を B<PAGE_SIZE> の倍数へと切り上げた (round up) 大きさとなる。"
#. type: Plain text
#: build/C/man2/shmget.2:91
#. type: Plain text
#: build/C/man2/shmget.2:102
msgid ""
-"to create a new segment. If this flag is not used, then B<shmget>() will "
-"find the segment associated with I<key> and check to see if the user has "
+"Create a new segment. If this flag is not used, then B<shmget>() will find "
+"the segment associated with I<key> and check to see if the user has "
"permission to access the segment."
msgstr ""
"新しいセグメントを作成する。このフラグが指定されなかった場合、 B<shmget>() "
msgstr "B<IPC_EXCL>"
#. type: Plain text
-#: build/C/man2/shmget.2:105
-msgid "used with B<IPC_CREAT> to ensure failure if the segment already exists."
+#: build/C/man2/shmget.2:108
+#, fuzzy
+#| msgid ""
+#| "used with B<IPC_CREAT> to ensure failure if the segment already exists."
+msgid ""
+"This flag is used with B<IPC_CREAT> to ensure that this call creates the "
+"segment. If the segment already exists, the call fails."
msgstr ""
"B<IPC_CREAT> と共に使用し、セグメントが既に存在した場合には 失敗することを保"
"証する。"
#. type: TP
-#: build/C/man2/shmget.2:105
-#, no-wrap
-msgid "I<mode_flags>"
-msgstr "I<mode_flags>"
-
-#. type: Plain text
-#: build/C/man2/shmget.2:115
-msgid ""
-"(least significant 9 bits) specifying the permissions granted to the owner, "
-"group, and world. These bits have the same format, and the same meaning, as "
-"the I<mode> argument of B<open>(2). Presently, the execute permissions are "
-"not used by the system."
-msgstr ""
-"(下位 9 ビット) 所有者、グループ、他人 (world) への許可を指定する。 これらの"
-"ビットは B<open>(2) の I<mode> 引き数と同じ形式で同じ意味を持つ。 今のとこ"
-"ろ、システムは実行 (execute) 許可を参照しない。"
-
-#. type: TP
-#: build/C/man2/shmget.2:115
+#: build/C/man2/shmget.2:108
#, no-wrap
msgid "B<SHM_HUGETLB> (since Linux 2.6)"
msgstr "B<SHM_HUGETLB> (Linux 2.6 以降)"
#. type: Plain text
-#: build/C/man2/shmget.2:121
+#: build/C/man2/shmget.2:114
msgid ""
"Allocate the segment using \"huge pages.\" See the Linux kernel source file "
"I<Documentation/vm/hugetlbpage.txt> for further information."
"Linux カーネルソースのファイル I<Documentation/vm/hugetlbpage.txt> を参照。"
#. type: TP
-#: build/C/man2/shmget.2:121
+#: build/C/man2/shmget.2:114
#, no-wrap
msgid "B<SHM_NORESERVE> (since Linux 2.6.15)"
msgstr "B<SHM_NORESERVE> (Linux 2.6.15 以降)"
#. As at 2.6.17-rc2, this flag has no effect if SHM_HUGETLB was also
#. specified.
#. type: Plain text
-#: build/C/man2/shmget.2:140
+#: build/C/man2/shmget.2:133
msgid ""
"This flag serves the same purpose as the B<mmap>(2) B<MAP_NORESERVE> flag. "
"Do not reserve swap space for this segment. When swap space is reserved, "
"ルに関する議論も参照のこと。"
#. type: Plain text
-#: build/C/man2/shmget.2:148
+#: build/C/man2/shmget.2:143
+#, fuzzy
+#| msgid ""
+#| "(least significant 9 bits) specifying the permissions granted to the "
+#| "owner, group, and world. These bits have the same format, and the same "
+#| "meaning, as the I<mode> argument of B<open>(2). Presently, the execute "
+#| "permissions are not used by the system."
+msgid ""
+"In addition to the above flags, the least significant 9 bits of I<shmflg> "
+"specify the permissions granted to the owner, group, and others. These bits "
+"have the same format, and the same meaning, as the I<mode> argument of "
+"B<open>(2). Presently, execute permissions are not used by the system."
+msgstr ""
+"(下位 9 ビット) 所有者、グループ、他人 (world) への許可を指定する。 これらの"
+"ビットは B<open>(2) の I<mode> 引き数と同じ形式で同じ意味を持つ。 今のとこ"
+"ろ、システムは実行 (execute) 許可を参照しない。"
+
+#. type: Plain text
+#: build/C/man2/shmget.2:151
msgid ""
"When a new shared memory segment is created, its contents are initialized to "
-"zero values, and its associated data structure, I<shmid_ds> (see B<shmctl>"
-"(2)), is initialized as follows:"
+"zero values, and its associated data structure, I<shmid_ds> (see "
+"B<shmctl>(2)), is initialized as follows:"
msgstr ""
"共有メモリ・セグメントが新たに作成される際、 共有メモリ・セグメントの内容は "
"0 で初期化され、 関連情報を保持するデータ構造体 I<shmid_ds> は以下のように初"
"期化される。"
#. type: Plain text
-#: build/C/man2/shmget.2:153
+#: build/C/man2/shmget.2:156
msgid ""
"I<shm_perm.cuid> and I<shm_perm.uid> are set to the effective user ID of the "
"calling process."
"ユーザーID を設定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:158
+#: build/C/man2/shmget.2:161
msgid ""
"I<shm_perm.cgid> and I<shm_perm.gid> are set to the effective group ID of "
"the calling process."
"定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:163
+#: build/C/man2/shmget.2:166
msgid ""
"The least significant 9 bits of I<shm_perm.mode> are set to the least "
"significant 9 bit of I<shmflg>."
"I<shm_perm.mode> の下位 9 ビットに I<shmflg> の下位 9 ビットを設定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:167
+#: build/C/man2/shmget.2:170
msgid "I<shm_segsz> is set to the value of I<size>."
msgstr "I<shm_segsz> に I<size> の値を設定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:174
-msgid "I<shm_lpid>, I<shm_nattch>, I<shm_atime> and I<shm_dtime> are set to 0."
+#: build/C/man2/shmget.2:177
+msgid ""
+"I<shm_lpid>, I<shm_nattch>, I<shm_atime>, and I<shm_dtime> are set to 0."
msgstr ""
"I<shm_lpid>, I<shm_nattch>, I<shm_atime>, I<shm_dtime> に 0 を設定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:177
+#: build/C/man2/shmget.2:180
msgid "I<shm_ctime> is set to the current time."
msgstr "I<shm_ctime> に現在の時刻を設定する。"
#. type: Plain text
-#: build/C/man2/shmget.2:180
+#: build/C/man2/shmget.2:183
msgid ""
"If the shared memory segment already exists, the permissions are verified, "
"and a check is made to see if it is marked for destruction."
"(destruction) マークがつけられていないかのチェックが行われる。"
#. type: Plain text
-#: build/C/man2/shmget.2:185
-#, fuzzy
-#| msgid ""
-#| "On success, B<sync_file_range>() returns 0; on failure -1 is returned "
-#| "and I<errno> is set to indicate the error."
+#: build/C/man2/shmget.2:188
msgid ""
-"On success, a valid shared memory identifier is returned. On errir, -1 is "
+"On success, a valid shared memory identifier is returned. On error, -1 is "
"returned, and I<errno> is set to indicate the error."
msgstr ""
-"成功の場合、 B<sync_file_range>() は 0 を返す。失敗の場合、-1 を返し、 "
-"I<error> にエラーを示す値を設定する。"
+"成功の場合、有効な共有メモリ・セグメントの識別子が返される。 エラーの場合、 "
+"-1 が返り、 I<error> にエラーを示す値が設定される。"
#. type: Plain text
-#: build/C/man2/shmget.2:189
+#: build/C/man2/shmget.2:192
msgid "On failure, I<errno> is set to one of the following:"
msgstr "失敗した場合は I<errno> が以下のどれかに設定される:"
#. type: Plain text
-#: build/C/man2/shmget.2:195
+#: build/C/man2/shmget.2:198
msgid ""
"The user does not have permission to access the shared memory segment, and "
"does not have the B<CAP_IPC_OWNER> capability."
"B<CAP_IPC_OWNER> ケーパビリティも持っていない。"
#. type: Plain text
-#: build/C/man2/shmget.2:199
-msgid "B<IPC_CREAT | IPC_EXCL> was specified and the segment exists."
+#: build/C/man2/shmget.2:207
+#, fuzzy
+#| msgid ""
+#| "Both B<O_CREAT> and B<O_EXCL> were specified to B<shm_open>() and the "
+#| "shared memory object specified by I<name> already exists."
+msgid ""
+"B<IPC_CREAT> and B<IPC_EXCL> were specified in I<shmflg>, but a shared "
+"memory segment already exists for I<key>."
msgstr ""
-"B<IPC_CREAT | IPC_EXCL> が指定されていたが、そのセグメントが既に存在する。"
+"B<O_CREAT> と B<O_EXCL> の両方が B<shm_open>() に指定されたが、 I<name> で指"
+"定された共有メモリ・オブジェクトが既に存在した。"
#. type: Plain text
-#: build/C/man2/shmget.2:205
+#: build/C/man2/shmget.2:215
+msgid ""
+"A new segment was to be created and I<size> is less than B<SHMIN> or greater "
+"than B<SHMMAX>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:222
+#, fuzzy
+#| msgid ""
+#| "A new segment was to be created and I<size> E<lt> B<SHMMIN> or I<size> "
+#| "E<gt> B<SHMMAX>, or no new segment was to be created, a segment with "
+#| "given key existed, but I<size> is greater than the size of that segment."
msgid ""
-"A new segment was to be created and I<size> E<lt> B<SHMMIN> or I<size> E<gt> "
-"B<SHMMAX>, or no new segment was to be created, a segment with given key "
-"existed, but I<size> is greater than the size of that segment."
+"(The call did not create a new segment and) a segment for the given I<key> "
+"exists, but I<size> is greater than the size of that segment."
msgstr ""
"新しいセグメントを作成しようとした際に I<size> E<lt> B<SHMMIN> または "
"I<size> E<gt> B<SHMMAX> であった。 もしくは、指定されたキーに対応するセグメン"
"在するセグメントの サイズよりも大きかった。"
#. type: Plain text
-#: build/C/man2/shmget.2:214
+#: build/C/man2/shmget.2:231
msgid ""
"No segment exists for the given I<key>, and B<IPC_CREAT> was not specified."
msgstr ""
"いなかった。"
#. type: Plain text
-#: build/C/man2/shmget.2:217
+#: build/C/man2/shmget.2:234
msgid "No memory could be allocated for segment overhead."
msgstr "セグメントの管理情報 (overhead) に割り当てるメモリがなかった。"
#. type: Plain text
-#: build/C/man2/shmget.2:225
+#: build/C/man2/shmget.2:242
msgid ""
"All possible shared memory IDs have been taken (B<SHMMNI>), or allocating a "
"segment of the requested I<size> would cause the system to exceed the system-"
"限 (B<SHMALL>) を超過した。"
#. type: Plain text
-#: build/C/man2/shmget.2:232
+#: build/C/man2/shmget.2:249
msgid ""
"The B<SHM_HUGETLB> flag was specified, but the caller was not privileged "
"(did not have the B<CAP_IPC_LOCK> capability)."
"(B<CAP_IPC_LOCK> ケーパビリティを持っていなかった)。"
#. type: Plain text
-#: build/C/man2/shmget.2:238
-msgid "B<SHM_HUGETLB> is a nonportable Linux extension."
-msgstr "B<SHM_HUGETLB> ã\81¯ Linux ã\81§ã\81®æ\8b¡å¼µã\81§ã\81\82ã\82\8aã\80\81移æ¤\8dæ\80§ã\81¯ã\81ªã\81\84。"
+#: build/C/man2/shmget.2:257
+msgid "B<SHM_HUGETLB> and B<SHM_NORESERVE> are Linux extensions."
+msgstr "B<SHM_HUGETLB> ã\81¨ B<SHM_NORESERVE> ã\81¯ Linux ã\81§ã\81®æ\8b¡å¼µã\81§ã\81\82ã\82\8b。"
#. type: Plain text
-#: build/C/man2/shmget.2:261
+#: build/C/man2/shmget.2:281
msgid ""
"B<IPC_PRIVATE> isn't a flag field but a I<key_t> type. If this special "
-"value is used for I<key>, the system call ignores everything but the least "
-"significant 9 bits of I<shmflg> and creates a new shared memory segment (on "
-"success)."
+"value is used for I<key>, the system call ignores all but the least "
+"significant 9 bits of I<shmflg> and creates a new shared memory segment."
+msgstr "B<IPC_PRIVATE> はフラグではなく I<key_t> 型である。 この特別な値が I<key> に使用された場合は、 B<shmget>() は I<shmflg> の下位 9 ビットを除いた全てを無視し、 新しい共有メモリ・セグメントを作成する。"
+
+#. type: SS
+#: build/C/man2/shmget.2:281
+#, no-wrap
+msgid "Shared memory limits"
msgstr ""
-"B<IPC_PRIVATE> はフラグではなく I<key_t> 型である。 この特別な値が I<key> に"
-"使用された場合は、 B<shmget>() は I<shmflg> の下位 9 ビットを除いた全てを無"
-"視し、 (成功すれば) 新しい共有メモリ・セグメントを作成する。"
#. type: Plain text
-#: build/C/man2/shmget.2:265
+#: build/C/man2/shmget.2:285
msgid ""
-"The following limits on shared memory segment resources affect the B<shmget>"
-"() call:"
+"The following limits on shared memory segment resources affect the "
+"B<shmget>() call:"
msgstr ""
"B<shmget>() コールに影響する共有メモリ・セグメント資源の制限は以下の通りであ"
"る:"
#. type: TP
-#: build/C/man2/shmget.2:265
+#: build/C/man2/shmget.2:285
#, no-wrap
msgid "B<SHMALL>"
msgstr "B<SHMALL>"
#. type: Plain text
-#: build/C/man2/shmget.2:270
+#: build/C/man2/shmget.2:289
+msgid ""
+"System-wide limit on the number of shared memory pages. Since Linux 2.4, "
+"the default value for this limit is"
+msgstr "システム全体の共有メモリ・ページ数の上限値。 Linux 2.2 以降では、この上限値のデフォルトは以下である。"
+
+#. type: Plain text
+#: build/C/man2/shmget.2:291
+#, no-wrap
+msgid " SHMMAX / PAGE_SIZE * (SHMMNI / 16)\n"
+msgstr " SHMMAX / PAGE_SIZE * (SHMMNI / 16)\n"
+
+#. type: Plain text
+#: build/C/man2/shmget.2:300
+msgid ""
+"If B<SHMMAX> and B<SHMMNI> are not modified, this yields a limit for the "
+"total memory used by all shared memory segments of 8 GB: With a 4kB page "
+"size, this formula yields the value 2^21 (2,097,152), with 8kB page size, it "
+"yields 2^20 (1048576)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:303
msgid ""
-"System wide maximum of shared memory pages (on Linux, this limit can be read "
-"and modified via I</proc/sys/kernel/shmall>)."
+"On Linux, this limit can be read and modified via I</proc/sys/kernel/shmall>."
msgstr ""
-"システム全体の共有メモリ・ページの最大数 (Linux では、この上限値は I</proc/"
-"sys/kernel/shmall> 経由で参照したり、変更したりできる)。"
+"Linux では、この上限値は I</proc/sys/kernel/shmall> 経由で参照したり、変更し"
+"たりできる。"
#. type: TP
-#: build/C/man2/shmget.2:270
+#: build/C/man2/shmget.2:303
#, no-wrap
msgid "B<SHMMAX>"
msgstr "B<SHMMAX>"
#. type: Plain text
-#: build/C/man2/shmget.2:275
+#: build/C/man2/shmget.2:307
+msgid ""
+"Maximum size in bytes for a shared memory segment. Since Linux 2.2, the "
+"default value of this limit is 0x2000000 (32MB)."
+msgstr ""
+"共有メモリ・セグメントの最大バイト数。 Linux 2.2 以降では、 この上限値のデ"
+"フォルトは 0x2000000 (32MB) である。"
+
+#. type: Plain text
+#: build/C/man2/shmget.2:310
msgid ""
-"Maximum size in bytes for a shared memory segment: policy dependent (on "
-"Linux, this limit can be read and modified via I</proc/sys/kernel/shmmax>)."
+"On Linux, this limit can be read and modified via I</proc/sys/kernel/shmmax>."
msgstr ""
-"共有メモリ・セグメントのバイト単位の大きさの上限: 方針依存 (Linux では、この"
-"上限値は I</proc/sys/kernel/shmmax> 経由で参照したり、変更したりできる)。"
+"Linux では、この上限値は I</proc/sys/kernel/shmmax> 経由で参照したり、変更し"
+"たりできる。"
#. type: TP
-#: build/C/man2/shmget.2:275
+#: build/C/man2/shmget.2:310
#, no-wrap
msgid "B<SHMMIN>"
msgstr "B<SHMMIN>"
#. type: Plain text
-#: build/C/man2/shmget.2:281
+#: build/C/man2/shmget.2:316
msgid ""
"Minimum size in bytes for a shared memory segment: implementation dependent "
"(currently 1 byte, though B<PAGE_SIZE> is the effective minimum size)."
"が、実質的な最小サイズは B<PAGE_SIZE> である)。"
#. type: TP
-#: build/C/man2/shmget.2:281
+#: build/C/man2/shmget.2:316
#, no-wrap
msgid "B<SHMMNI>"
msgstr "B<SHMMNI>"
+#. type: Plain text
+#: build/C/man2/shmget.2:321
+msgid ""
+"System-wide limit on the number of shared memory segments. In Linux 2.2, "
+"the default value for this limit was 128; since Linux 2.4, the default value "
+"is 4096."
+msgstr "システム全体の共有メモリ・セグメント数の上限値。 この上限値のデフォルトは、 Linux 2.2 以降では 128、 Linux 2.4 以降で 4096 である。"
+
#. Kernels between 2.4.x and 2.6.8 had an off-by-one error that meant
#. that we could create one more segment than SHMMNI -- MTK
#. This /proc file is not available in Linux 2.2 and earlier -- MTK
#. type: Plain text
-#: build/C/man2/shmget.2:290
+#: build/C/man2/shmget.2:327
msgid ""
-"System wide maximum number of shared memory segments: implementation "
-"dependent (currently 4096, was 128 before Linux 2.3.99; on Linux, this limit "
-"can be read and modified via I</proc/sys/kernel/shmmni>)."
+"On Linux, this limit can be read and modified via I</proc/sys/kernel/shmmni>."
msgstr ""
-"システム全体の共有メモリーの数の上限: 実装依存 (現在は 4096。Linux 2.3.99 よ"
-"り前では 128。 Linux では、この上限値は I</proc/sys/kernel/shmmni> 経由で参照"
-"したり、変更したりできる)。"
+"Linux では、この上限値は I</proc/sys/kernel/shmmni> 経由で参照したり、変更し"
+"たりできる。"
#. type: Plain text
-#: build/C/man2/shmget.2:294
+#: build/C/man2/shmget.2:331
msgid ""
"The implementation has no specific limits for the per-process maximum number "
"of shared memory segments (B<SHMSEG>)."
"上の制限はない。"
#. type: Plain text
-#: build/C/man2/shmget.2:300
+#: build/C/man2/shmget.2:337
msgid ""
-"Until version 2.3.30 Linux would return B<EIDRM> for a B<shmget>() on a "
+"Until version 2.3.30, Linux would return B<EIDRM> for a B<shmget>() on a "
"shared memory segment scheduled for deletion."
msgstr ""
"バージョン 2.3.30 までは、Linux は 削除が予定されている共有メモリ・セグメント"
"に対して B<shmget>() が行われると B<EIDRM> を返していた。"
#. type: Plain text
-#: build/C/man2/shmget.2:306
+#: build/C/man2/shmget.2:343
msgid ""
"The name choice B<IPC_PRIVATE> was perhaps unfortunate, B<IPC_NEW> would "
"more clearly show its function."
"より明確にその機能を表しているだろう。"
#. type: Plain text
-#: build/C/man2/shmget.2:314
+#: build/C/man2/shmget.2:351
msgid ""
"B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<ftok>(3), B<capabilities>(7), "
"B<shm_overview>(7), B<svipc>(7)"
msgid "SHMOP"
msgstr "SHMOP"
+#. type: TH
+#: build/C/man2/shmop.2:41
+#, no-wrap
+msgid "2014-04-28"
+msgstr "2014-04-28"
+
#. type: Plain text
#: build/C/man2/shmop.2:44
msgid "shmat, shmdt - System V shared memory operations"
msgid "B<int shmdt(const void *>I<shmaddr>B<);>\n"
msgstr "B<int shmdt(const void *>I<shmaddr>B<);>\n"
+#. type: SS
+#: build/C/man2/shmop.2:54
+#, no-wrap
+msgid "shmat()"
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/shmop.2:61
+#: build/C/man2/shmop.2:62
msgid ""
-"B<shmat>() attaches the System V shared memory segment identified by "
+"B<shmat>() attaches the System\\ V shared memory segment identified by "
"I<shmid> to the address space of the calling process. The attaching address "
"is specified by I<shmaddr> with one of the following criteria:"
-msgstr ""
-"B<shmat>() は I<shmid> で指定された System V 共有メモリ・セグメント (shared "
-"memory segment) を コールしたプロセスのアドレス空間に付加 (attach) する。 付"
-"加するアドレスは I<shmaddr> に以下のどれかの形式で指定する:"
+msgstr "B<shmat>() は I<shmid> で指定された System\\ V 共有メモリ・セグメント (shared memory segment) を コールしたプロセスのアドレス空間に付加 (attach) する。 付加するアドレスは I<shmaddr> に以下のどれかの形式で指定する:"
#. type: Plain text
-#: build/C/man2/shmop.2:67
+#: build/C/man2/shmop.2:68
msgid ""
"If I<shmaddr> is NULL, the system chooses a suitable (unused) address at "
"which to attach the segment."
"されていない) アドレスを選択する。"
#. type: Plain text
-#: build/C/man2/shmop.2:82
+#: build/C/man2/shmop.2:80
msgid ""
"If I<shmaddr> isn't NULL and B<SHM_RND> is specified in I<shmflg>, the "
"attach occurs at the address equal to I<shmaddr> rounded down to the nearest "
-"multiple of B<SHMLBA>. Otherwise I<shmaddr> must be a page-aligned address "
-"at which the attach occurs."
+"multiple of B<SHMLBA>."
+msgstr "I<shmaddr> が NULL でなく B<SHM_RND> が I<shmflg> に指定されている場合は、 I<shmaddr> を B<SHMLBA> の倍数へと切り捨てた (rounding down) のと等しいアドレスへ付加する。"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:84
+msgid ""
+"Otherwise, I<shmaddr> must be a page-aligned address at which the attach "
+"occurs."
+msgstr "その他の場合は I<shmaddr> は付加を行なうアドレスで、ページ境界を指している必要がある。"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:90
+msgid ""
+"In addition to B<SHM_RND>, the following flags may be specified in the "
+"I<shmflg> bit-mask argument:"
msgstr ""
-"I<shmaddr> が NULL でなく B<SHM_RND> が I<shmflg> に指定されている場合は、 "
-"I<shmaddr> を B<SHMLBA> の倍数へと切り捨てた (rounding down) のと等しいアドレ"
-"スへ付加する。 その他の場合は I<shmaddr> は付加を行なうアドレスで、ページ境界"
-"を指している必要がある。"
+
+#. type: TP
+#: build/C/man2/shmop.2:90
+#, no-wrap
+msgid "B<SHM_EXEC> (Linux-specific; since Linux 2.6.9)"
+msgstr "B<SHM_EXEC> (Linux 固有; Linux 2.6.9 以降)"
#. type: Plain text
-#: build/C/man2/shmop.2:92
+#: build/C/man2/shmop.2:94
msgid ""
-"If B<SHM_RDONLY> is specified in I<shmflg>, the segment is attached for "
-"reading and the process must have read permission for the segment. "
-"Otherwise the segment is attached for read and write and the process must "
-"have read and write permission for the segment. There is no notion of a "
-"write-only shared memory segment."
+"Allow the contents of the segment to be executed. The caller must have "
+"execute permission on the segment."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/shmop.2:94
+#, no-wrap
+msgid "B<SHM_RDONLY>"
+msgstr "B<SHM_RDONLY>"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:102
+#, fuzzy
+#| msgid ""
+#| "If B<SHM_RDONLY> is specified in I<shmflg>, the segment is attached for "
+#| "reading and the process must have read permission for the segment. "
+#| "Otherwise the segment is attached for read and write and the process must "
+#| "have read and write permission for the segment. There is no notion of a "
+#| "write-only shared memory segment."
+msgid ""
+"Attach the segment for read-only access. The process must have read "
+"permission for the segment. If this flag is not specified, the segment is "
+"attached for read and write access, and the process must have read and write "
+"permission for the segment. There is no notion of a write-only shared "
+"memory segment."
msgstr ""
"B<SHM_RDONLY> が I<shmflg> に指定されていた場合は、 セグメントは読み込み専用"
"に付加され、プロセスはそのセグメントへの 読み込み許可を持たなければならな"
"セスはそのセグメントに読み込みと書き込みの許可を持つ必要がある。 書き込み専用"
"の共有メモリ・セグメントという概念は存在しない。"
+#. type: TP
+#: build/C/man2/shmop.2:102
+#, no-wrap
+msgid "B<SHM_REMAP> (Linux-specific)"
+msgstr "B<SHM_REMAP> (Linux 固有)"
+
#. type: Plain text
-#: build/C/man2/shmop.2:107
-msgid ""
-"The (Linux-specific) B<SHM_REMAP> flag may be specified in I<shmflg> to "
-"indicate that the mapping of the segment should replace any existing mapping "
-"in the range starting at I<shmaddr> and continuing for the size of the "
-"segment. (Normally an B<EINVAL> error would result if a mapping already "
-"exists in this address range.) In this case, I<shmaddr> must not be NULL."
+#: build/C/man2/shmop.2:115
+#, fuzzy
+#| msgid ""
+#| "The (Linux-specific) B<SHM_REMAP> flag may be specified in I<shmflg> to "
+#| "indicate that the mapping of the segment should replace any existing "
+#| "mapping in the range starting at I<shmaddr> and continuing for the size "
+#| "of the segment. (Normally an B<EINVAL> error would result if a mapping "
+#| "already exists in this address range.) In this case, I<shmaddr> must not "
+#| "be NULL."
+msgid ""
+"This flag specifies that the mapping of the segment should replace any "
+"existing mapping in the range starting at I<shmaddr> and continuing for the "
+"size of the segment. (Normally, an B<EINVAL> error would result if a "
+"mapping already exists in this address range.) In this case, I<shmaddr> "
+"must not be NULL."
msgstr ""
"(Linux 特有の) B<SHM_REMAP> フラグが I<shmflg> に指定された場合は、 セグメン"
"トのマッピングを既存のマッピングに置き換える。 マッピングの範囲は、 "
"場合は、 I<shmaddr> が NULL であってはならない。"
#. type: Plain text
-#: build/C/man2/shmop.2:114
+#: build/C/man2/shmop.2:122
msgid ""
"The B<brk>(2) value of the calling process is not altered by the attach. "
"The segment will automatically be detached at process exit. The same "
"複数回付加することもできる。"
#. type: Plain text
-#: build/C/man2/shmop.2:122
+#: build/C/man2/shmop.2:130
msgid ""
"A successful B<shmat>() call updates the members of the I<shmid_ds> "
"structure (see B<shmctl>(2)) associated with the shared memory segment as "
"造体 (B<shmctl>(2) を参照) のメンバーを以下のように更新する:"
#. type: Plain text
-#: build/C/man2/shmop.2:125
+#: build/C/man2/shmop.2:133
msgid "I<shm_atime> is set to the current time."
msgstr "I<shm_atime> には現在の時刻を設定する。"
#. type: Plain text
-#: build/C/man2/shmop.2:128 build/C/man2/shmop.2:154
+#: build/C/man2/shmop.2:136 build/C/man2/shmop.2:163
msgid "I<shm_lpid> is set to the process-ID of the calling process."
msgstr "I<shm_lpid> には呼び出したプロセスのプロセス ID が設定される。"
#. type: Plain text
-#: build/C/man2/shmop.2:131
+#: build/C/man2/shmop.2:140
msgid "I<shm_nattch> is incremented by one."
msgstr "I<shm_nattch> を 1 増加させる。"
+#. type: SS
+#: build/C/man2/shmop.2:140
+#, no-wrap
+msgid "shmdt()"
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/shmop.2:142
+#: build/C/man2/shmop.2:151
msgid ""
"B<shmdt>() detaches the shared memory segment located at the address "
"specified by I<shmaddr> from the address space of the calling process. The "
"ない。"
#. type: Plain text
-#: build/C/man2/shmop.2:148
+#: build/C/man2/shmop.2:157
msgid ""
-"On a successful B<shmdt>() call the system updates the members of the "
+"On a successful B<shmdt>() call, the system updates the members of the "
"I<shmid_ds> structure associated with the shared memory segment as follows:"
msgstr ""
"成功した B<shmdt>() コールはその共有メモリ・セグメントに関連する "
"I<shmid_ds> 構造体のメンバーを以下のように更新する:"
#. type: Plain text
-#: build/C/man2/shmop.2:151
+#: build/C/man2/shmop.2:160
msgid "I<shm_dtime> is set to the current time."
msgstr "I<shm_dtime> には現在の時刻が設定される。"
#. type: Plain text
-#: build/C/man2/shmop.2:159
+#: build/C/man2/shmop.2:168
msgid ""
"I<shm_nattch> is decremented by one. If it becomes 0 and the segment is "
"marked for deletion, the segment is deleted."
"セグメントは削除される。"
#. type: Plain text
-#: build/C/man2/shmop.2:163
+#: build/C/man2/shmop.2:176
msgid ""
-"After a B<fork>(2) the child inherits the attached shared memory segments."
-msgstr ""
-"B<fork>(2) した後、子プロセスは付加された共有メモリ・セグメントを継承する。"
-
-#. type: Plain text
-#: build/C/man2/shmop.2:167
-msgid ""
-"After an B<execve>(2) all attached shared memory segments are detached from "
-"the process."
-msgstr ""
-"B<exec>(2) した後、全ての付加された共有メモリ・セグメントはプロセスから分離"
-"される。"
-
-#. type: Plain text
-#: build/C/man2/shmop.2:171
-msgid ""
-"Upon B<_exit>(2) all attached shared memory segments are detached from the "
-"process."
-msgstr ""
-"B<exit>(2) において、全ての付加された共有メモリ・セグメントはプロセスから分"
-"離される。"
-
-#. type: Plain text
-#: build/C/man2/shmop.2:179
-msgid ""
-"On success B<shmat>() returns the address of the attached shared memory "
-"segment; on error I<(void\\ *)\\ -1> is returned, and I<errno> is set to "
+"On success, B<shmat>() returns the address of the attached shared memory "
+"segment; on error, I<(void\\ *)\\ -1> is returned, and I<errno> is set to "
"indicate the cause of the error."
msgstr ""
"B<shmat>() は、成功した場合、 付加された共有メモリ・セグメントのアドレスを返"
"値を設定する。"
#. type: Plain text
-#: build/C/man2/shmop.2:185
+#: build/C/man2/shmop.2:182
msgid ""
-"On success B<shmdt>() returns 0; on error -1 is returned, and I<errno> is "
+"On success, B<shmdt>() returns 0; on error -1 is returned, and I<errno> is "
"set to indicate the cause of the error."
msgstr ""
"B<shmdt>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエ"
"ラーの原因を示す値を設定する。"
#. type: Plain text
-#: build/C/man2/shmop.2:191
+#: build/C/man2/shmop.2:188
msgid "When B<shmat>() fails, I<errno> is set to one of the following:"
msgstr ""
"B<shmat>() が失敗した場合、 I<errno> に以下の値のどれかを設定して返す:"
#. type: Plain text
-#: build/C/man2/shmop.2:197
+#: build/C/man2/shmop.2:194
msgid ""
"The calling process does not have the required permissions for the requested "
"attach type, and does not have the B<CAP_IPC_OWNER> capability."
"B<CAP_IPC_OWNER> ケーパビリティ (capability) がない。"
#. type: Plain text
-#: build/C/man2/shmop.2:214
+#: build/C/man2/shmop.2:211
msgid ""
"Invalid I<shmid> value, unaligned (i.e., not page-aligned and B<SHM_RND> was "
"not specified) or invalid I<shmaddr> value, or can't attach segment at "
"れているが、 I<shmaddr> が NULL であった。"
#. type: Plain text
-#: build/C/man2/shmop.2:217
+#: build/C/man2/shmop.2:214
msgid "Could not allocate memory for the descriptor or for the page tables."
msgstr ""
"ディスクリプター (descriptor) やページ・テーブルのためのメモリを 割り当てるこ"
"とができない。"
#. type: Plain text
-#: build/C/man2/shmop.2:223
+#: build/C/man2/shmop.2:220
msgid "When B<shmdt>() fails, I<errno> is set as follows:"
msgstr "B<shmdt>() が失敗した場合、 B<EINVAL> は以下のようにセットされる:"
#. The following since 2.6.17-rc1:
#. type: Plain text
-#: build/C/man2/shmop.2:231
+#: build/C/man2/shmop.2:228
msgid ""
"There is no shared memory segment attached at I<shmaddr>; or, I<shmaddr> is "
"not aligned on a page boundary."
"I<shmaddr> がページ境界に合っていない。"
#. type: Plain text
-#: build/C/man2/shmop.2:250
-#, fuzzy
-#| msgid ""
-#| "In SVID 3 (or perhaps earlier) the type of the I<shmaddr> argument was "
-#| "changed from I<char *> into I<const void *>, and the returned type of "
-#| "B<shmat>() from I<char *> into I<void *>. (Linux libc4 and libc5 have "
-#| "the I<char *> prototypes; glibc2 has I<void *>.)"
+#: build/C/man2/shmop.2:247
msgid ""
-"In SVID 3 (or perhaps earlier) the type of the I<shmaddr> argument was "
+"In SVID 3 (or perhaps earlier), the type of the I<shmaddr> argument was "
"changed from I<char\\ *> into I<const void\\ *>, and the returned type of "
"B<shmat>() from I<char\\ *> into I<void\\ *>. (Linux libc4 and libc5 have "
"the I<char\\ *> prototypes; glibc2 has I<void\\ *>.)"
msgstr ""
-"SVID 3 で (たぶんそれより前だと思うが) I<shmaddr> 引き数の型は I<char *> か"
-"ã\82\89 I<const void *> ã\81«ã\80\81I<shmat>() ã\81®è¿\94ã\82\8aå\80¤ã\81®å\9e\8bã\81¯ I<char *> ã\81\8bã\82\89 I<void *> ã\81«"
-"変更された (Linux では libc4 と libc5 のプロトタイプは I<char *> であり、"
-"glibc2 のプロトタイプは I<void *> である)。"
+"SVID 3 で (たぶんそれより前だと思うが) I<shmaddr> 引き数の型は I<char\\ *> "
+"ã\81\8bã\82\89 I<const void\\ *> ã\81«ã\80\81I<shmat>() ã\81®è¿\94ã\82\8aå\80¤ã\81®å\9e\8bã\81¯ I<char\\ *> ã\81\8bã\82\89 I<void"
+"\\ *> に変更された (Linux では libc4 と libc5 のプロトタイプは I<char\\ *> で"
+"あり、glibc2 のプロトタイプは I<void\\ *> である)。"
#. type: Plain text
-#: build/C/man2/shmop.2:262
+#: build/C/man2/shmop.2:252
+msgid ""
+"After a B<fork>(2), the child inherits the attached shared memory segments."
+msgstr ""
+"B<fork>(2) した後、子プロセスは付加された共有メモリ・セグメントを継承する。"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:256
+msgid ""
+"After an B<execve>(2), all attached shared memory segments are detached from "
+"the process."
+msgstr ""
+"B<exec>(2) した後、全ての付加された共有メモリ・セグメントはプロセスから分離"
+"される。"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:260
+msgid ""
+"Upon B<_exit>(2), all attached shared memory segments are detached from the "
+"process."
+msgstr ""
+"B<exit>(2) において、全ての付加された共有メモリ・セグメントはプロセスから分"
+"離される。"
+
+#. type: Plain text
+#: build/C/man2/shmop.2:272
msgid ""
"Using B<shmat>() with I<shmaddr> equal to NULL is the preferred, portable "
"way of attaching a shared memory segment. Be aware that the shared memory "
"る。"
#. type: Plain text
-#: build/C/man2/shmop.2:267
+#: build/C/man2/shmop.2:277
msgid ""
"On Linux, it is possible to attach a shared memory segment even if it is "
"already marked to be deleted. However, POSIX.1-2001 does not specify this "
"を指定しておらず、 他の多くの実装もこれをサポートしていない。"
#. type: Plain text
-#: build/C/man2/shmop.2:270
+#: build/C/man2/shmop.2:280
msgid "The following system parameter affects B<shmat>():"
msgstr "以下のシステム・パラメーターは、 B<shmat>() に影響する:"
#. FIXME A good explanation of the rationale for the existence
#. of SHMLBA would be useful here
#. type: TP
-#: build/C/man2/shmop.2:270
+#: build/C/man2/shmop.2:280
#, no-wrap
msgid "B<SHMLBA>"
msgstr "B<SHMLBA>"
#. architectures (i.e., SHMLBA != PAGE_SIZE for some architectures)
#. -- MTK, Nov 04
#. type: Plain text
-#: build/C/man2/shmop.2:283
+#: build/C/man2/shmop.2:293
msgid ""
"Segment low boundary address multiple. Must be page aligned. For the "
-"current implementation the B<SHMLBA> value is B<PAGE_SIZE>."
+"current implementation, the B<SHMLBA> value is B<PAGE_SIZE>."
msgstr ""
"セグメントの境界アドレスの最小倍数。ページ境界に合ってなければならない。 現在"
"の実装では B<SHMLBA> の値は B<PAGE_SIZE> である。"
#. type: Plain text
-#: build/C/man2/shmop.2:287
+#: build/C/man2/shmop.2:297
msgid ""
-"The implementation places no intrinsic limit on the per-process maximum "
-"number of shared memory segments (B<SHMSEG>)."
+"The implementation places no intrinsic per-process limit on the number of "
+"shared memory segments (B<SHMSEG>)."
msgstr ""
"現在の実装では、プロセスごとの 共有メモリ・セグメントの最大数 (B<SHMSEG>) に"
"関する実装依存の制限はない。"
#. type: Plain text
-#: build/C/man2/shmop.2:295
+#: build/C/man2/shmop.2:305
msgid ""
"B<brk>(2), B<mmap>(2), B<shmctl>(2), B<shmget>(2), B<capabilities>(7), "
"B<shm_overview>(7), B<svipc>(7)"
msgid "SYNC_FILE_RANGE"
msgstr "SYNC_FILE_RANGE"
+#. type: TH
+#: build/C/man2/sync_file_range.2:30
+#, no-wrap
+msgid "2013-04-01"
+msgstr "2013-04-01"
+
#. type: Plain text
#: build/C/man2/sync_file_range.2:33
msgid "sync_file_range - sync a file segment with disk"
"Therefore, unless the application is strictly performing overwrites of "
"already-instantiated disk blocks, there are no guarantees that the data will "
"be available after a crash. There is no user interface to know if a write "
-"is purely an overwrite. On file systems using copy-on-write semantics (e."
-"g., I<btrfs>) an overwrite of existing allocated blocks is impossible. "
-"When writing into preallocated space, many file systems also require calls "
-"into the block allocator, which this system call does not sync out to disk. "
-"This system call does not flush disk write caches and thus does not provide "
-"any data integrity on systems with volatile disk write caches."
+"is purely an overwrite. On filesystems using copy-on-write semantics (e.g., "
+"I<btrfs>) an overwrite of existing allocated blocks is impossible. When "
+"writing into preallocated space, many filesystems also require calls into "
+"the block allocator, which this system call does not sync out to disk. This "
+"system call does not flush disk write caches and thus does not provide any "
+"data integrity on systems with volatile disk write caches."
msgstr ""
"このシステムコールは非常に危険であり、 移植性が必要なプログラムで使用すべきで"
"はない。 これらの操作ではどれもファイルのメタデータの書き出しを行わない。 し"
"Some architectures (e.g., PowerPC, ARM) need 64-bit arguments to be aligned "
"in a suitable pair of registers. On such architectures, the call signature "
"of B<sync_file_range>() shown in the SYNOPSIS would force a register to be "
-"wasted as padding between the I<fd> and I<offset> arguments. (See B<syscall>"
-"(2) for details.) Therefore, these architectures define a different system "
-"call that orders the arguments suitably:"
+"wasted as padding between the I<fd> and I<offset> arguments. (See "
+"B<syscall>(2) for details.) Therefore, these architectures define a "
+"different system call that orders the arguments suitably:"
msgstr ""
"いくつかのアーキテクチャ (例えば、 PowerPC や ARM) では、 64 ビットの引き数は"
"適切なレジスタの組に割り当てる必要がある。 このようなアーキテクチャでは、 "
msgid "B<fdatasync>(2), B<fsync>(2), B<msync>(2), B<sync>(2)"
msgstr "B<fdatasync>(2), B<fsync>(2), B<msync>(2), B<sync>(2)"
-#~ msgid "2008-01-24"
-#~ msgstr "2008-01-24"
+#~ msgid "2008-04-22"
+#~ msgstr "2008-04-22"
+
+#~ msgid "I<mode_flags>"
+#~ msgstr "I<mode_flags>"
+
+#~ msgid "B<IPC_CREAT | IPC_EXCL> was specified and the segment exists."
+#~ msgstr ""
+#~ "B<IPC_CREAT | IPC_EXCL> が指定されていたが、そのセグメントが既に存在する。"
-#~ msgid "B<fallocate>() returns zero on success, and -1 on failure."
-#~ msgstr "B<fallocate>() は成功すると 0 を返し、エラーの場合は -1 を返す。"
+#~ msgid ""
+#~ "Assuming a 4kB page size, this formula yields (since Linux 2.4) the value "
+#~ "2^20 (2,097,152)."
+#~ msgstr ""
+#~ "4kB ページサイズと仮定すると、 (Linux 2.4 以降では) この式の結果は 2^20 "
+#~ "(2,097,152) になる。"
-#~ msgid "On success, B<malloc_info>() returns 0; on error, it returns -1."
-#~ msgstr "B<malloc_info>() は成功すると 0 を返す。エラーの場合は -1 を返す。"
+#~ msgid ""
+#~ "Maximum size in bytes for a shared memory segment: policy dependent (on "
+#~ "Linux, this limit can be read and modified via I</proc/sys/kernel/"
+#~ "shmmax>)."
+#~ msgstr ""
+#~ "共有メモリ・セグメントのバイト単位の大きさの上限: 方針依存 (Linux では、こ"
+#~ "の上限値は I</proc/sys/kernel/shmmax> 経由で参照したり、変更したりでき"
+#~ "る)。"
-#~ msgid "2012-05-31"
-#~ msgstr "2012-05-31"
+#~ msgid ""
+#~ "System wide maximum number of shared memory segments: implementation "
+#~ "dependent (currently 4096, was 128 before Linux 2.3.99; on Linux, this "
+#~ "limit can be read and modified via I</proc/sys/kernel/shmmni>)."
+#~ msgstr ""
+#~ "システム全体の共有メモリーの数の上限: 実装依存 (現在は 4096。Linux 2.3.99 "
+#~ "より前では 128。 Linux では、この上限値は I</proc/sys/kernel/shmmni> 経由"
+#~ "で参照したり、変更したりできる)。"
#~ msgid ""
#~ "A valid segment identifier, I<shmid>, is returned on success, -1 on error."
#~ "ない。"
#~ msgid ""
-#~ "The function B<mtrace>() installs handlers for B<malloc>(3), B<realloc>"
-#~ "(3) and B<free>(3). The function B<muntrace>() disables these handlers."
+#~ "The function B<mtrace>() installs handlers for B<malloc>(3), "
+#~ "B<realloc>(3) and B<free>(3). The function B<muntrace>() disables "
+#~ "these handlers."
#~ msgstr ""
#~ "関数 B<mtrace>() は、 B<malloc>(3), B<realloc>(3), B<free>(3) のハンドラ"
#~ "を組み込む。 関数 B<muntrace>() はこれらのハンドラを解除する。"
#~ msgid ""
-#~ "The environment variable B<MALLOC_TRACE> defines a file where B<mtrace>"
-#~ "() writes its output. This file must be writable to the user or "
-#~ "B<mtrace>() will do nothing. If the file is not empty it will be "
+#~ "The environment variable B<MALLOC_TRACE> defines a file where "
+#~ "B<mtrace>() writes its output. This file must be writable to the user "
+#~ "or B<mtrace>() will do nothing. If the file is not empty it will be "
#~ "truncated."
#~ msgstr ""
#~ "環境変数 B<MALLOC_TRACE> は B<mtrace>() が出力を書き出すファイルを指定す"
#~ "有用である。 ファイルサイズが I<offset>+I<len> よりも小さい場合であって"
#~ "も、ブロックの前もっての割り当てにより (B<stat>(2) が返す) ファイルサイズ"
#~ "は変更されることはない。"
-
-#~ msgid ""
-#~ "(Linux 2.6.9 and later) the caller was not privileged (B<CAP_IPC_LOCK>) "
-#~ "and its B<RLIMIT_MEMLOCK> soft resource limit was 0."
-#~ msgstr ""
-#~ "(Linux 2.6.9 以降) 呼び出し元は特権 (B<CAP_IPC_LOCK>) を持たず、ソフト資"
-#~ "源制限 B<RLIMIT_MEMLOCK> が 0 である。"
-
-#~ msgid ""
-#~ "(Linux 2.6.8 and earlier) The calling process has insufficient privilege "
-#~ "to call B<munlockall>(). Under Linux the B<CAP_IPC_LOCK> capability is "
-#~ "required."
-#~ msgstr ""
-#~ "(Linux 2.6.8 以前) 呼び出し元プロセスが B<munlockall>() を呼び出すのに必"
-#~ "要な特権を所有していなかった。 Linux では、 B<CAP_IPC_LOCK> ケーパビリティ"
-#~ "が必要である。"
-
-#~ msgid ""
-#~ "B<posix_fadvise>() appeared in kernel 2.5.60. Glibc support has been "
-#~ "provided since version 2.2."
-#~ msgstr ""
-#~ "B<posix_fadvise>() はカーネル 2.5.60 で登場した。 glibc でのサポートは "
-#~ "glibc バージョン 2.2 以降で行われている。"