X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=po4a%2Fmemory%2Fpo%2Fmemory.pot;h=1682649126be47b5d15ab346b18d552bb3b50fde;hb=5618418a05886b550745e2bb4d21910858d500eb;hp=8a9d95d2e9145478e586d2141a9ec2165148af14;hpb=75fabc03b87ade605498944290f8ecd1ecc6c5cd;p=linuxjm%2FLDP_man-pages.git diff --git a/po4a/memory/po/memory.pot b/po4a/memory/po/memory.pot index 8a9d95d2..16826491 100644 --- a/po4a/memory/po/memory.pot +++ b/po4a/memory/po/memory.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2012-05-28 07:16+0900\n" +"POT-Creation-Date: 2015-02-04 23:32+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,19 +29,19 @@ msgid "2007-05-31" msgstr "" #. type: TH -#: build/C/man2/alloc_hugepages.2:25 build/C/man2/cacheflush.2:24 build/C/man2/fallocate.2:8 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:24 build/C/man3/malloc_stats.3:24 build/C/man3/malloc_trim.3:24 build/C/man3/mallopt.3:24 build/C/man2/mlock.2:27 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:32 build/C/man2/mremap.2:31 build/C/man2/msync.2:25 build/C/man2/posix_fadvise.2:27 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:26 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:43 build/C/man2/shmget.2:36 build/C/man2/shmop.2:39 build/C/man2/subpage_prot.2:28 build/C/man2/sync_file_range.2:30 +#: build/C/man2/alloc_hugepages.2:25 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/mallopt.3:26 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:39 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man2/posix_fadvise.2:28 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30 build/C/man2/memfd_create.2:21 #, no-wrap msgid "Linux" msgstr "" #. type: TH -#: build/C/man2/alloc_hugepages.2:25 build/C/man3/alloca.3:41 build/C/man2/cacheflush.2:24 build/C/man2/fallocate.2:8 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:24 build/C/man3/malloc_get_state.3:23 build/C/man3/malloc_hook.3:6 build/C/man3/malloc_info.3:23 build/C/man3/malloc_stats.3:24 build/C/man3/malloc_trim.3:24 build/C/man3/malloc_usable_size.3:23 build/C/man3/mallopt.3:24 build/C/man3/mcheck.3:23 build/C/man2/mlock.2:27 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:32 build/C/man2/mremap.2:31 build/C/man2/msync.2:25 build/C/man3/mtrace.3:23 build/C/man2/posix_fadvise.2:27 build/C/man3/posix_fallocate.3:23 build/C/man3/posix_memalign.3:28 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:26 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:43 build/C/man2/shmget.2:36 build/C/man2/shmop.2:39 build/C/man2/subpage_prot.2:28 build/C/man2/sync_file_range.2:30 +#: build/C/man2/alloc_hugepages.2:25 build/C/man3/alloca.3:43 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_hook.3:10 build/C/man3/malloc_info.3:25 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/malloc_usable_size.3:25 build/C/man3/mallopt.3:26 build/C/man3/mcheck.3:25 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:39 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man3/mtrace.3:25 build/C/man2/posix_fadvise.2:28 build/C/man3/posix_fallocate.3:25 build/C/man3/posix_memalign.3:29 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30 build/C/man2/memfd_create.2:21 build/C/man2/s390_pci_mmio_write.2:25 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:26 build/C/man3/alloca.3:42 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:9 build/C/man2/madvise.2:36 build/C/man3/mallinfo.3:25 build/C/man3/malloc_get_state.3:24 build/C/man3/malloc_hook.3:7 build/C/man3/malloc_info.3:24 build/C/man3/malloc_stats.3:25 build/C/man3/malloc_trim.3:25 build/C/man3/malloc_usable_size.3:24 build/C/man3/mallopt.3:25 build/C/man3/mcheck.3:24 build/C/man2/mlock.2:28 build/C/man2/mmap.2:41 build/C/man2/mmap2.2:30 build/C/man2/mprotect.2:33 build/C/man2/mremap.2:32 build/C/man2/msync.2:26 build/C/man3/mtrace.3:24 build/C/man2/posix_fadvise.2:28 build/C/man3/posix_fallocate.3:24 build/C/man3/posix_memalign.3:29 build/C/man2/readahead.2:29 build/C/man2/remap_file_pages.2:27 build/C/man3/shm_open.3:27 build/C/man7/shm_overview.7:28 build/C/man2/shmctl.2:44 build/C/man2/shmget.2:37 build/C/man2/shmop.2:40 build/C/man2/subpage_prot.2:29 build/C/man2/sync_file_range.2:31 +#: build/C/man2/alloc_hugepages.2:26 build/C/man3/alloca.3:44 build/C/man2/cacheflush.2:26 build/C/man2/fallocate.2:12 build/C/man2/madvise.2:36 build/C/man3/mallinfo.3:27 build/C/man3/malloc_get_state.3:26 build/C/man3/malloc_hook.3:11 build/C/man3/malloc_info.3:26 build/C/man3/malloc_stats.3:27 build/C/man3/malloc_trim.3:27 build/C/man3/malloc_usable_size.3:26 build/C/man3/mallopt.3:27 build/C/man3/mcheck.3:26 build/C/man2/mlock.2:27 build/C/man2/mmap.2:41 build/C/man2/mmap2.2:30 build/C/man2/mprotect.2:40 build/C/man2/mremap.2:31 build/C/man2/msync.2:26 build/C/man3/mtrace.3:26 build/C/man2/posix_fadvise.2:29 build/C/man3/posix_fallocate.3:26 build/C/man3/posix_memalign.3:30 build/C/man2/readahead.2:29 build/C/man2/remap_file_pages.2:29 build/C/man3/shm_open.3:27 build/C/man7/shm_overview.7:28 build/C/man2/shmctl.2:46 build/C/man2/shmget.2:39 build/C/man2/shmop.2:42 build/C/man2/subpage_prot.2:31 build/C/man2/sync_file_range.2:31 build/C/man2/memfd_create.2:22 build/C/man2/s390_pci_mmio_write.2:26 #, no-wrap msgid "NAME" msgstr "" @@ -52,7 +52,7 @@ msgid "alloc_hugepages, free_hugepages - allocate or free huge pages" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:28 build/C/man3/alloca.3:44 build/C/man2/cacheflush.2:27 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:38 build/C/man3/mallinfo.3:27 build/C/man3/malloc_get_state.3:26 build/C/man3/malloc_hook.3:11 build/C/man3/malloc_info.3:26 build/C/man3/malloc_stats.3:27 build/C/man3/malloc_trim.3:27 build/C/man3/malloc_usable_size.3:26 build/C/man3/mallopt.3:27 build/C/man3/mcheck.3:26 build/C/man2/mlock.2:30 build/C/man2/mmap.2:43 build/C/man2/mmap2.2:32 build/C/man2/mprotect.2:35 build/C/man2/mremap.2:34 build/C/man2/msync.2:28 build/C/man3/mtrace.3:26 build/C/man2/posix_fadvise.2:30 build/C/man3/posix_fallocate.3:26 build/C/man3/posix_memalign.3:31 build/C/man2/readahead.2:31 build/C/man2/remap_file_pages.2:29 build/C/man3/shm_open.3:29 build/C/man2/shmctl.2:46 build/C/man2/shmget.2:39 build/C/man2/shmop.2:42 build/C/man2/subpage_prot.2:31 build/C/man2/sync_file_range.2:33 +#: build/C/man2/alloc_hugepages.2:28 build/C/man3/alloca.3:46 build/C/man2/cacheflush.2:28 build/C/man2/fallocate.2:14 build/C/man2/madvise.2:38 build/C/man3/mallinfo.3:29 build/C/man3/malloc_get_state.3:28 build/C/man3/malloc_hook.3:15 build/C/man3/malloc_info.3:28 build/C/man3/malloc_stats.3:29 build/C/man3/malloc_trim.3:29 build/C/man3/malloc_usable_size.3:28 build/C/man3/mallopt.3:29 build/C/man3/mcheck.3:28 build/C/man2/mlock.2:29 build/C/man2/mmap.2:43 build/C/man2/mmap2.2:32 build/C/man2/mprotect.2:42 build/C/man2/mremap.2:33 build/C/man2/msync.2:28 build/C/man3/mtrace.3:28 build/C/man2/posix_fadvise.2:31 build/C/man3/posix_fallocate.3:28 build/C/man3/posix_memalign.3:32 build/C/man2/readahead.2:31 build/C/man2/remap_file_pages.2:31 build/C/man3/shm_open.3:29 build/C/man2/shmctl.2:48 build/C/man2/shmget.2:41 build/C/man2/shmop.2:44 build/C/man2/subpage_prot.2:33 build/C/man2/sync_file_range.2:33 build/C/man2/memfd_create.2:24 build/C/man2/s390_pci_mmio_write.2:29 #, no-wrap msgid "SYNOPSIS" msgstr "" @@ -76,7 +76,7 @@ msgid "BIB<);>\n" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:38 build/C/man3/alloca.3:48 build/C/man2/cacheflush.2:33 build/C/man2/fallocate.2:19 build/C/man2/madvise.2:50 build/C/man3/mallinfo.3:31 build/C/man3/malloc_get_state.3:34 build/C/man3/malloc_hook.3:29 build/C/man3/malloc_info.3:32 build/C/man3/malloc_stats.3:31 build/C/man3/malloc_trim.3:31 build/C/man3/malloc_usable_size.3:30 build/C/man3/mallopt.3:31 build/C/man3/mcheck.3:39 build/C/man2/mlock.2:40 build/C/man2/mmap.2:52 build/C/man2/mmap2.2:39 build/C/man2/mprotect.2:41 build/C/man2/mremap.2:43 build/C/man2/msync.2:32 build/C/man3/mtrace.3:32 build/C/man2/posix_fadvise.2:49 build/C/man3/posix_fallocate.3:44 build/C/man3/posix_memalign.3:83 build/C/man2/readahead.2:38 build/C/man2/remap_file_pages.2:37 build/C/man3/shm_open.3:41 build/C/man7/shm_overview.7:30 build/C/man2/shmctl.2:54 build/C/man2/shmget.2:47 build/C/man2/shmop.2:51 build/C/man2/subpage_prot.2:36 build/C/man2/sync_file_range.2:41 +#: build/C/man2/alloc_hugepages.2:38 build/C/man3/alloca.3:50 build/C/man2/cacheflush.2:34 build/C/man2/fallocate.2:22 build/C/man2/madvise.2:50 build/C/man3/mallinfo.3:33 build/C/man3/malloc_get_state.3:36 build/C/man3/malloc_hook.3:33 build/C/man3/malloc_info.3:34 build/C/man3/malloc_stats.3:33 build/C/man3/malloc_trim.3:33 build/C/man3/malloc_usable_size.3:32 build/C/man3/mallopt.3:33 build/C/man3/mcheck.3:40 build/C/man2/mlock.2:39 build/C/man2/mmap.2:54 build/C/man2/mmap2.2:39 build/C/man2/mprotect.2:48 build/C/man2/mremap.2:42 build/C/man2/msync.2:32 build/C/man3/mtrace.3:34 build/C/man2/posix_fadvise.2:50 build/C/man3/posix_fallocate.3:46 build/C/man3/posix_memalign.3:84 build/C/man2/readahead.2:38 build/C/man2/remap_file_pages.2:39 build/C/man3/shm_open.3:41 build/C/man7/shm_overview.7:30 build/C/man2/shmctl.2:56 build/C/man2/shmget.2:49 build/C/man2/shmop.2:53 build/C/man2/subpage_prot.2:41 build/C/man2/sync_file_range.2:41 build/C/man2/memfd_create.2:28 build/C/man2/s390_pci_mmio_write.2:39 #, no-wrap msgid "DESCRIPTION" msgstr "" @@ -86,7 +86,7 @@ msgstr "" msgid "" "The system calls B() and B() 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). In Linux 2.4.20 " +"on i386 and ia64 (when built with B). In Linux 2.4.20, " "the syscall numbers exist, but the calls fail with the error B." msgstr "" @@ -142,7 +142,7 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:58 build/C/man2/cacheflush.2:52 build/C/man2/fallocate.2:109 build/C/man2/madvise.2:268 build/C/man3/malloc_get_state.3:59 build/C/man3/malloc_info.3:46 build/C/man3/malloc_trim.3:49 build/C/man3/malloc_usable_size.3:38 build/C/man3/mallopt.3:377 build/C/man3/mcheck.3:128 build/C/man2/mlock.2:117 build/C/man2/mmap.2:373 build/C/man2/mmap2.2:54 build/C/man2/mprotect.2:72 build/C/man2/mremap.2:128 build/C/man2/msync.2:68 build/C/man2/posix_fadvise.2:86 build/C/man3/posix_fallocate.3:64 build/C/man3/posix_memalign.3:141 build/C/man2/readahead.2:65 build/C/man2/remap_file_pages.2:122 build/C/man3/shm_open.3:169 build/C/man2/shmctl.2:272 build/C/man2/shmget.2:178 build/C/man2/shmop.2:169 build/C/man2/subpage_prot.2:61 build/C/man2/sync_file_range.2:141 +#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:60 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/man3/mcheck.3:129 build/C/man2/mlock.2:116 build/C/man2/mmap.2:375 build/C/man2/mmap2.2:54 build/C/man2/mprotect.2:77 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:142 build/C/man2/readahead.2:66 build/C/man2/remap_file_pages.2:132 build/C/man3/shm_open.3:171 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 build/C/man2/memfd_create.2:126 build/C/man2/s390_pci_mmio_write.2:68 #, no-wrap msgid "RETURN VALUE" msgstr "" @@ -156,13 +156,13 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:118 build/C/man2/cacheflush.2:58 build/C/man2/fallocate.2:112 build/C/man2/madvise.2:275 build/C/man3/malloc_info.3:51 build/C/man3/malloc_trim.3:54 build/C/man3/mallopt.3:382 build/C/man2/mlock.2:123 build/C/man2/mmap.2:390 build/C/man2/mmap2.2:61 build/C/man2/mprotect.2:79 build/C/man2/mremap.2:136 build/C/man2/msync.2:73 build/C/man2/posix_fadvise.2:89 build/C/man3/posix_fallocate.3:70 build/C/man3/posix_memalign.3:155 build/C/man2/readahead.2:71 build/C/man2/remap_file_pages.2:129 build/C/man3/shm_open.3:178 build/C/man2/shmctl.2:294 build/C/man2/shmget.2:182 build/C/man2/shmop.2:183 build/C/man2/subpage_prot.2:66 build/C/man2/sync_file_range.2:147 +#: build/C/man2/alloc_hugepages.2:118 build/C/man2/cacheflush.2:59 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:84 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:157 build/C/man2/readahead.2:72 build/C/man2/remap_file_pages.2:139 build/C/man3/shm_open.3:180 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 build/C/man2/memfd_create.2:133 build/C/man2/s390_pci_mmio_write.2:77 #, no-wrap msgid "ERRORS" msgstr "" #. type: TP -#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:151 +#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:319 #, no-wrap msgid "B" msgstr "" @@ -194,7 +194,7 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:63 build/C/man2/cacheflush.2:74 build/C/man2/fallocate.2:188 build/C/man2/madvise.2:325 build/C/man3/mallinfo.3:109 build/C/man3/malloc_get_state.3:84 build/C/man3/malloc_hook.3:76 build/C/man3/malloc_info.3:59 build/C/man3/malloc_stats.3:53 build/C/man3/malloc_trim.3:58 build/C/man3/malloc_usable_size.3:46 build/C/man3/mallopt.3:390 build/C/man3/mcheck.3:144 build/C/man2/mlock.2:187 build/C/man2/mmap.2:483 build/C/man2/mmap2.2:77 build/C/man2/mprotect.2:107 build/C/man2/mremap.2:186 build/C/man2/msync.2:96 build/C/man3/mtrace.3:76 build/C/man2/posix_fadvise.2:111 build/C/man3/posix_fallocate.3:101 build/C/man3/posix_memalign.3:180 build/C/man2/readahead.2:87 build/C/man2/remap_file_pages.2:151 build/C/man3/shm_open.3:249 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:366 build/C/man2/shmget.2:229 build/C/man2/shmop.2:226 build/C/man2/subpage_prot.2:91 build/C/man2/sync_file_range.2:180 +#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:70 build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:375 build/C/man2/madvise.2:332 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:53 build/C/man3/mallopt.3:392 build/C/man3/mcheck.3:145 build/C/man2/mlock.2:186 build/C/man2/mmap.2:499 build/C/man2/mmap2.2:77 build/C/man2/mprotect.2:112 build/C/man2/mremap.2:185 build/C/man2/msync.2:96 build/C/man3/mtrace.3:78 build/C/man2/posix_fadvise.2:122 build/C/man3/posix_fallocate.3:108 build/C/man3/posix_memalign.3:182 build/C/man2/readahead.2:88 build/C/man2/remap_file_pages.2:161 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:377 build/C/man2/shmget.2:248 build/C/man2/shmop.2:228 build/C/man2/subpage_prot.2:96 build/C/man2/sync_file_range.2:180 build/C/man2/memfd_create.2:161 build/C/man2/s390_pci_mmio_write.2:100 #, no-wrap msgid "CONFORMING TO" msgstr "" @@ -207,7 +207,7 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:71 build/C/man2/madvise.2:346 build/C/man3/malloc_get_state.3:86 build/C/man3/malloc_hook.3:78 build/C/man3/malloc_info.3:61 build/C/man3/malloc_stats.3:55 build/C/man3/malloc_trim.3:60 build/C/man3/malloc_trim.3:72 build/C/man3/malloc_usable_size.3:48 build/C/man3/mcheck.3:146 build/C/man2/mlock.2:214 build/C/man2/mmap.2:501 build/C/man2/mmap2.2:79 build/C/man2/mprotect.2:116 build/C/man2/mremap.2:192 build/C/man3/mtrace.3:78 build/C/man2/posix_fadvise.2:120 build/C/man3/posix_memalign.3:219 build/C/man3/shm_open.3:255 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:371 build/C/man2/shmget.2:235 build/C/man2/shmop.2:245 build/C/man2/subpage_prot.2:93 build/C/man2/sync_file_range.2:183 +#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:78 build/C/man2/madvise.2:354 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:55 build/C/man3/mcheck.3:147 build/C/man2/mlock.2:213 build/C/man2/mmap.2:517 build/C/man2/mmap2.2:79 build/C/man2/mprotect.2:121 build/C/man2/mremap.2:191 build/C/man2/msync.2:120 build/C/man3/mtrace.3:80 build/C/man2/posix_fadvise.2:131 build/C/man3/posix_fallocate.3:133 build/C/man3/posix_memalign.3:221 build/C/man2/readahead.2:93 build/C/man2/remap_file_pages.2:165 build/C/man3/shm_open.3:257 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:382 build/C/man2/shmget.2:256 build/C/man2/shmop.2:243 build/C/man2/subpage_prot.2:98 build/C/man2/sync_file_range.2:183 build/C/man2/memfd_create.2:165 build/C/man2/s390_pci_mmio_write.2:103 #, no-wrap msgid "NOTES" msgstr "" @@ -216,9 +216,9 @@ msgstr "" #: 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(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(2) to " +"map files in this virtual filesystem." msgstr "" #. type: Plain text @@ -229,54 +229,55 @@ msgid "" msgstr "" #. type: SH -#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:153 build/C/man2/cacheflush.2:88 build/C/man2/fallocate.2:195 build/C/man2/madvise.2:379 build/C/man3/mallinfo.3:278 build/C/man3/malloc_get_state.3:112 build/C/man3/malloc_hook.3:138 build/C/man3/malloc_info.3:258 build/C/man3/malloc_stats.3:65 build/C/man3/malloc_trim.3:80 build/C/man3/malloc_usable_size.3:62 build/C/man3/mallopt.3:578 build/C/man3/mcheck.3:211 build/C/man2/mlock.2:337 build/C/man2/mmap.2:671 build/C/man2/mmap2.2:98 build/C/man2/mprotect.2:223 build/C/man2/mremap.2:214 build/C/man2/msync.2:122 build/C/man3/mtrace.3:170 build/C/man2/posix_fadvise.2:188 build/C/man3/posix_fallocate.3:130 build/C/man3/posix_memalign.3:275 build/C/man2/readahead.2:98 build/C/man2/remap_file_pages.2:162 build/C/man3/shm_open.3:280 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:410 build/C/man2/shmget.2:298 build/C/man2/shmop.2:290 build/C/man2/subpage_prot.2:126 build/C/man2/sync_file_range.2:222 +#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:162 build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:383 build/C/man2/madvise.2:388 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:69 build/C/man3/mallopt.3:568 build/C/man3/mcheck.3:208 build/C/man2/mlock.2:343 build/C/man2/mmap.2:741 build/C/man2/mmap2.2:101 build/C/man2/mprotect.2:228 build/C/man2/mremap.2:214 build/C/man2/msync.2:151 build/C/man3/mtrace.3:172 build/C/man2/posix_fadvise.2:215 build/C/man3/posix_fallocate.3:143 build/C/man3/posix_memalign.3:277 build/C/man2/readahead.2:113 build/C/man2/remap_file_pages.2:183 build/C/man3/shm_open.3:283 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:435 build/C/man2/shmget.2:391 build/C/man2/shmop.2:301 build/C/man2/subpage_prot.2:134 build/C/man2/sync_file_range.2:227 build/C/man2/memfd_create.2:493 build/C/man2/s390_pci_mmio_write.2:109 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text -#: build/C/man2/alloc_hugepages.2:157 build/C/man3/alloca.3:160 build/C/man2/cacheflush.2:95 build/C/man2/fallocate.2:202 build/C/man2/madvise.2:386 build/C/man3/mallinfo.3:285 build/C/man3/malloc_get_state.3:119 build/C/man3/malloc_hook.3:145 build/C/man3/malloc_info.3:265 build/C/man3/malloc_stats.3:72 build/C/man3/malloc_trim.3:87 build/C/man3/malloc_usable_size.3:69 build/C/man3/mallopt.3:585 build/C/man3/mcheck.3:218 build/C/man2/mlock.2:344 build/C/man2/mmap.2:678 build/C/man2/mmap2.2:105 build/C/man2/mprotect.2:230 build/C/man2/mremap.2:221 build/C/man2/msync.2:129 build/C/man3/mtrace.3:177 build/C/man2/posix_fadvise.2:195 build/C/man3/posix_fallocate.3:137 build/C/man3/posix_memalign.3:282 build/C/man2/readahead.2:105 build/C/man2/remap_file_pages.2:169 build/C/man3/shm_open.3:287 build/C/man7/shm_overview.7:134 build/C/man2/shmctl.2:417 build/C/man2/shmget.2:305 build/C/man2/shmop.2:297 build/C/man2/subpage_prot.2:133 build/C/man2/sync_file_range.2:229 +#: build/C/man2/alloc_hugepages.2:158 build/C/man3/alloca.3:170 build/C/man2/cacheflush.2:97 build/C/man2/fallocate.2:391 build/C/man2/madvise.2:396 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:77 build/C/man3/mallopt.3:576 build/C/man3/mcheck.3:216 build/C/man2/mlock.2:351 build/C/man2/mmap.2:749 build/C/man2/mmap2.2:109 build/C/man2/mprotect.2:236 build/C/man2/mremap.2:222 build/C/man2/msync.2:159 build/C/man3/mtrace.3:180 build/C/man2/posix_fadvise.2:223 build/C/man3/posix_fallocate.3:151 build/C/man3/posix_memalign.3:285 build/C/man2/readahead.2:121 build/C/man2/remap_file_pages.2:191 build/C/man3/shm_open.3:291 build/C/man7/shm_overview.7:135 build/C/man2/shmctl.2:443 build/C/man2/shmget.2:399 build/C/man2/shmop.2:309 build/C/man2/subpage_prot.2:142 build/C/man2/sync_file_range.2:235 build/C/man2/memfd_create.2:501 build/C/man2/s390_pci_mmio_write.2:117 msgid "" -"This page is part of release 3.41 of the Linux I project. A " -"description of the project, and information about reporting bugs, can be " -"found at http://www.kernel.org/doc/man-pages/." +"This page is part of release 3.79 of the Linux I 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 "" #. type: TH -#: build/C/man3/alloca.3:41 +#: build/C/man3/alloca.3:43 #, no-wrap msgid "ALLOCA" msgstr "" #. type: TH -#: build/C/man3/alloca.3:41 +#: build/C/man3/alloca.3:43 #, no-wrap -msgid "2008-01-24" +msgid "2013-10-07" msgstr "" #. type: TH -#: build/C/man3/alloca.3:41 build/C/man3/malloc_get_state.3:23 build/C/man3/malloc_hook.3:6 build/C/man3/malloc_info.3:23 build/C/man3/malloc_usable_size.3:23 build/C/man3/mcheck.3:23 build/C/man3/mtrace.3:23 build/C/man3/posix_fallocate.3:23 build/C/man3/posix_memalign.3:28 +#: build/C/man3/alloca.3:43 build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_hook.3:10 build/C/man3/malloc_info.3:25 build/C/man3/malloc_usable_size.3:25 build/C/man3/mcheck.3:25 build/C/man3/mtrace.3:25 build/C/man3/posix_fallocate.3:25 build/C/man3/posix_memalign.3:29 #, no-wrap msgid "GNU" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:44 +#: build/C/man3/alloca.3:46 msgid "alloca - allocate memory that is automatically freed" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:46 +#: build/C/man3/alloca.3:48 msgid "B<#include Ealloca.hE>" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:48 +#: build/C/man3/alloca.3:50 msgid "BIB<);>" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:58 +#: build/C/man3/alloca.3:60 msgid "" "The B() function allocates I bytes of space in the stack " "frame of the caller. This temporary space is automatically freed when the " @@ -284,20 +285,37 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:63 +#: build/C/man3/alloca.3:65 msgid "" "The B() function returns a pointer to the beginning of the " "allocated space. If the allocation causes stack overflow, program behavior " "is undefined." msgstr "" +#. type: SH +#: build/C/man3/alloca.3:65 build/C/man3/malloc_usable_size.3:48 build/C/man3/posix_fallocate.3:103 +#, no-wrap +msgid "ATTRIBUTES" +msgstr "" + +#. type: SS +#: build/C/man3/alloca.3:66 build/C/man3/malloc_usable_size.3:49 build/C/man3/posix_fallocate.3:104 +#, no-wrap +msgid "Multithreading (see pthreads(7))" +msgstr "" + #. type: Plain text -#: build/C/man3/alloca.3:65 +#: build/C/man3/alloca.3:70 +msgid "The B() function is thread-safe." +msgstr "" + +#. type: Plain text +#: build/C/man3/alloca.3:72 msgid "This function is not in POSIX.1-2001." msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:71 +#: build/C/man3/alloca.3:78 msgid "" "There is evidence that the B() function appeared in 32V, PWB, " "PWB.2, 3BSD, and 4BSD. There is a man page for it in 4.3BSD. Linux uses " @@ -305,7 +323,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:86 +#: build/C/man3/alloca.3:93 msgid "" "The B() function is machine- and compiler-dependent. For certain " "applications, its use can improve efficiency compared to the use of " @@ -315,7 +333,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:95 +#: build/C/man3/alloca.3:102 msgid "" "Because the space allocated by B() is allocated within the stack " "frame, that space is automatically freed if the function return is jumped " @@ -323,40 +341,43 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:100 +#: build/C/man3/alloca.3:107 msgid "Do not attempt to B(3) space allocated by B()!" msgstr "" #. type: SS -#: build/C/man3/alloca.3:100 +#: build/C/man3/alloca.3:107 #, no-wrap -msgid "Notes on the GNU Version" +msgid "Notes on the GNU version" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:122 +#: build/C/man3/alloca.3:129 msgid "" "Normally, B(1) translates calls to B() 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 Ialloca.hE> is not " -"included). But beware! By default the glibc version of " -"Istdlib.hE> includes Ialloca.hE> and that contains the " -"line:" +"I<-std=c11> option is given B the header Ialloca.hE> is not " +"included. Otherwise, (without an -ansi or -std=c* option) the glibc version " +"of Istdlib.hE> includes Ialloca.hE> and that contains " +"the lines:" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:125 +#: build/C/man3/alloca.3:134 #, no-wrap -msgid " #define alloca(size) __builtin_alloca (size)\n" +msgid "" +" #ifdef __GNUC__\n" +" #define alloca(size) __builtin_alloca (size)\n" +" #endif\n" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:128 +#: build/C/man3/alloca.3:137 msgid "with messy consequences if one has a private version of this function." msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:132 +#: 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 " @@ -364,7 +385,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:136 +#: 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 " @@ -372,13 +393,13 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/alloca.3:136 build/C/man2/cacheflush.2:81 build/C/man3/mallinfo.3:113 build/C/man3/mallopt.3:404 build/C/man2/mlock.2:305 build/C/man2/mmap.2:544 build/C/man3/mtrace.3:100 build/C/man2/posix_fadvise.2:177 build/C/man2/shmget.2:284 +#: 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:311 build/C/man2/mmap.2:590 build/C/man3/mtrace.3:102 build/C/man2/posix_fadvise.2:204 build/C/man2/readahead.2:98 build/C/man2/shmget.2:376 #, no-wrap msgid "BUGS" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:141 +#: 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 " @@ -386,7 +407,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:149 +#: build/C/man3/alloca.3:158 msgid "" "On many systems B() cannot be used inside the list of arguments of " "a function call, because the stack space reserved by B() would " @@ -394,47 +415,47 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/alloca.3:149 build/C/man2/fallocate.2:191 build/C/man2/madvise.2:371 build/C/man3/mallinfo.3:269 build/C/man3/malloc_get_state.3:109 build/C/man3/malloc_hook.3:133 build/C/man3/malloc_info.3:252 build/C/man3/malloc_stats.3:59 build/C/man3/malloc_trim.3:76 build/C/man3/malloc_usable_size.3:60 build/C/man3/mallopt.3:564 build/C/man3/mcheck.3:204 build/C/man2/mlock.2:330 build/C/man2/mmap.2:653 build/C/man2/mmap2.2:92 build/C/man2/mprotect.2:220 build/C/man2/mremap.2:200 build/C/man2/msync.2:118 build/C/man3/mtrace.3:165 build/C/man2/posix_fadvise.2:182 build/C/man3/posix_fallocate.3:126 build/C/man3/posix_memalign.3:270 build/C/man2/readahead.2:92 build/C/man2/remap_file_pages.2:155 build/C/man3/shm_open.3:269 build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:403 build/C/man2/shmget.2:290 build/C/man2/shmop.2:282 build/C/man2/subpage_prot.2:120 build/C/man2/sync_file_range.2:217 +#: build/C/man3/alloca.3:158 build/C/man2/fallocate.2:378 build/C/man2/madvise.2:379 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:67 build/C/man3/mallopt.3:554 build/C/man3/mcheck.3:204 build/C/man2/mlock.2:336 build/C/man2/mmap.2:715 build/C/man2/mmap2.2:95 build/C/man2/mprotect.2:225 build/C/man2/mremap.2:199 build/C/man2/msync.2:147 build/C/man3/mtrace.3:167 build/C/man2/posix_fadvise.2:209 build/C/man3/posix_fallocate.3:138 build/C/man3/posix_memalign.3:272 build/C/man2/readahead.2:107 build/C/man2/remap_file_pages.2:176 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:382 build/C/man2/shmop.2:293 build/C/man2/subpage_prot.2:128 build/C/man2/sync_file_range.2:222 build/C/man2/memfd_create.2:487 build/C/man2/s390_pci_mmio_write.2:107 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text -#: build/C/man3/alloca.3:153 +#: build/C/man3/alloca.3:162 msgid "B(2), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man2/cacheflush.2:24 +#: build/C/man2/cacheflush.2:25 #, no-wrap msgid "CACHEFLUSH" msgstr "" #. type: TH -#: build/C/man2/cacheflush.2:24 +#: build/C/man2/cacheflush.2:25 #, no-wrap msgid "2007-05-26" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:27 +#: build/C/man2/cacheflush.2:28 msgid "cacheflush - flush contents of instruction and/or data cache" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:30 +#: build/C/man2/cacheflush.2:31 #, no-wrap msgid "B<#include Easm/cachectl.hE>\n" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:32 +#: build/C/man2/cacheflush.2:33 #, no-wrap msgid "BIB<, int >IB<, int >IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:42 +#: build/C/man2/cacheflush.2:43 msgid "" "B() flushes the contents of the indicated cache(s) for the user " "addresses in the range I to I<(addr+nbytes-1)>. I may be one " @@ -442,106 +463,106 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/cacheflush.2:42 +#: build/C/man2/cacheflush.2:43 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:45 +#: build/C/man2/cacheflush.2:46 msgid "Flush the instruction cache." msgstr "" #. type: TP -#: build/C/man2/cacheflush.2:45 +#: build/C/man2/cacheflush.2:46 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:48 +#: build/C/man2/cacheflush.2:49 msgid "Write back to memory and invalidate the affected valid cache lines." msgstr "" #. type: TP -#: build/C/man2/cacheflush.2:48 +#: build/C/man2/cacheflush.2:49 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:52 +#: build/C/man2/cacheflush.2:53 msgid "Same as B<(ICACHE|DCACHE)>." msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:58 +#: build/C/man2/cacheflush.2:59 msgid "" "B() returns 0 on success or -1 on error. If errors are " "detected, I will indicate the error." msgstr "" #. type: TP -#: build/C/man2/cacheflush.2:59 build/C/man2/mmap2.2:62 build/C/man2/mremap.2:143 build/C/man2/shmctl.2:303 build/C/man2/subpage_prot.2:67 +#: build/C/man2/cacheflush.2:60 build/C/man2/mmap2.2:62 build/C/man2/mremap.2:142 build/C/man2/shmctl.2:314 build/C/man2/subpage_prot.2:72 build/C/man2/memfd_create.2:134 build/C/man2/s390_pci_mmio_write.2:78 build/C/man2/s390_pci_mmio_write.2:83 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:66 +#: build/C/man2/cacheflush.2:67 msgid "" "Some or all of the address range I to I<(addr+nbytes-1)> is not " "accessible." msgstr "" #. type: TP -#: build/C/man2/cacheflush.2:66 build/C/man2/fallocate.2:124 build/C/man2/madvise.2:282 build/C/man3/malloc_info.3:52 build/C/man2/mlock.2:158 build/C/man2/mlock.2:165 build/C/man2/mlock.2:177 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:89 build/C/man2/mremap.2:152 build/C/man2/msync.2:80 build/C/man2/posix_fadvise.2:93 build/C/man3/posix_fallocate.3:79 build/C/man3/posix_memalign.3:156 build/C/man2/readahead.2:76 build/C/man2/remap_file_pages.2:130 build/C/man2/remap_file_pages.2:137 build/C/man3/shm_open.3:211 build/C/man2/shmctl.2:317 build/C/man2/shmget.2:196 build/C/man2/shmop.2:195 build/C/man2/shmop.2:218 build/C/man2/subpage_prot.2:72 build/C/man2/sync_file_range.2:152 +#: 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:421 build/C/man2/mmap.2:429 build/C/man2/mmap.2:434 build/C/man2/mmap2.2:65 build/C/man2/mprotect.2:94 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:158 build/C/man2/readahead.2:77 build/C/man2/remap_file_pages.2:140 build/C/man2/remap_file_pages.2:147 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 build/C/man2/memfd_create.2:139 build/C/man2/s390_pci_mmio_write.2:87 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:74 +#: build/C/man2/cacheflush.2:75 msgid "I is not one of B, B, or B." msgstr "" -#. FIXME This system call was only on MIPS back in 1.2 days, but -#. by now it is on a number of other architectures (but not i386). +#. FIXME The cacheflush() system call was only on MIPS back in 1.2 days, +#. but by now it is on a number of other architectures (but not i386). #. Investigate the details and update this page. #. Irix 6.5 appears to have a cacheflush() syscall -- mtk #. type: Plain text -#: build/C/man2/cacheflush.2:81 +#: build/C/man2/cacheflush.2:82 msgid "" -"This Linux-specific system call is only available on MIPS-based systems. It " +"This Linux-specific system call is available only on MIPS-based systems. It " "should not be used in programs intended to be portable." msgstr "" #. type: Plain text -#: build/C/man2/cacheflush.2:88 +#: build/C/man2/cacheflush.2:89 msgid "" "The current implementation ignores the I and I arguments. " "Therefore, the whole cache is always flushed." msgstr "" #. type: TH -#: build/C/man2/fallocate.2:8 +#: build/C/man2/fallocate.2:11 #, no-wrap msgid "FALLOCATE" msgstr "" #. type: TH -#: build/C/man2/fallocate.2:8 +#: build/C/man2/fallocate.2:11 build/C/man3/malloc_info.3:25 build/C/man2/mmap.2:40 build/C/man3/posix_fallocate.3:25 build/C/man3/shm_open.3:26 build/C/man2/memfd_create.2:21 #, no-wrap -msgid "2012-04-23" +msgid "2015-01-22" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:11 +#: build/C/man2/fallocate.2:14 msgid "fallocate - manipulate file space" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:15 build/C/man2/readahead.2:35 +#: build/C/man2/fallocate.2:18 build/C/man2/readahead.2:35 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" @@ -549,7 +570,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:18 +#: build/C/man2/fallocate.2:21 #, no-wrap msgid "" "BIB<, int >IB<, off_t >IB<, off_t " @@ -557,7 +578,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:24 +#: build/C/man2/fallocate.2:27 msgid "" "This is a nonportable, Linux-specific system call. For the portable, " "POSIX.1-specified method of ensuring that space is allocated for a file, see " @@ -565,7 +586,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:34 +#: build/C/man2/fallocate.2:37 msgid "" "B() allows the caller to directly manipulate the allocated disk " "space for the file referred to by I for the byte range starting at " @@ -573,7 +594,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:39 +#: build/C/man2/fallocate.2:42 msgid "" "The I argument determines the operation to be performed on the given " "range. Details of the supported operations are given in the subsections " @@ -581,25 +602,26 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/fallocate.2:39 +#: build/C/man2/fallocate.2:42 #, no-wrap msgid "Allocating disk space" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:58 +#: build/C/man2/fallocate.2:65 msgid "" "The default operation (i.e., I is zero) of B() allocates " -"and initializes to zero the disk space within the range specified by " -"I and I. The file size (as reported by B(2)) will be " -"changed if I+I is greater than the file size. This default " -"behavior closely resembles the behavior of the B(3) " -"library function, and is intended as a method of optimally implementing that " -"function." +"the disk space within the range specified by I and I. The file " +"size (as reported by B(2)) will be changed if I+I is " +"greater than the file size. Any subregion within the range specified by " +"I and I that did not contain data before the call will be " +"initialized to zero. This default behavior closely resembles the behavior " +"of the B(3) library function, and is intended as a method " +"of optimally implementing that function." msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:64 +#: build/C/man2/fallocate.2:71 msgid "" "After a successful call, subsequent writes into the range specified by " "I and I are guaranteed not to fail because of lack of disk " @@ -607,7 +629,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:75 +#: build/C/man2/fallocate.2:82 msgid "" "If the B flag is specified in I, the behavior of " "the call is similar, but the file size will not be changed even if " @@ -617,31 +639,31 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:79 +#: build/C/man2/fallocate.2:86 msgid "" "Because allocation is done in block size chunks, B() may " "allocate a larger range of disk space than was specified." msgstr "" #. type: SS -#: build/C/man2/fallocate.2:79 +#: build/C/man2/fallocate.2:86 #, no-wrap msgid "Deallocating file space" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:94 +#: build/C/man2/fallocate.2:101 msgid "" "Specifying the B flag (available since Linux 2.6.38) " "in I deallocates space (i.e., creates a hole) in the byte range " "starting at I and continuing for I 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 "" #. type: Plain text -#: build/C/man2/fallocate.2:105 +#: build/C/man2/fallocate.2:112 msgid "" "The B flag must be ORed with B in " "I; in other words, even when punching off the end of the file, the " @@ -649,157 +671,356 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:109 +#: build/C/man2/fallocate.2:117 msgid "" -"Not all file systems support B; if a file system " -"doesn't support the operation, an error is returned." +"Not all filesystems support B; if a filesystem doesn't " +"support the operation, an error is returned. The operation is supported on " +"at least the following filesystems:" +msgstr "" + +#. 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 build/C/man2/memfd_create.2:248 build/C/man2/memfd_create.2:258 build/C/man2/memfd_create.2:266 +#, no-wrap +msgid "*" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:112 -msgid "B() returns zero on success, and -1 on failure." +#: build/C/man2/fallocate.2:119 +msgid "XFS (since Linux 2.6.38)" +msgstr "" + +#. commit a4bb6b64e39abc0e41ca077725f2a72c868e7622 +#. type: Plain text +#: build/C/man2/fallocate.2:122 +msgid "ext4 (since Linux 3.0)" +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:124 +msgid "Btrfs (since Linux 3.7)" +msgstr "" + +#. commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe +#. type: Plain text +#: build/C/man2/fallocate.2:127 +msgid "tmpfs (since Linux 3.5)" +msgstr "" + +#. 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 flag (available since Linux 3.15) " +"in I removes a byte range from a file, without leaving a hole. The " +"byte range to be collapsed starts at I and continues for I " +"bytes. At the completion of the operation, the contents of the file " +"starting at the location I will be appended at the location " +"I, and the file will be I bytes smaller." +msgstr "" + +#. 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 and I " +"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() will fail with the error B if " +"this requirement is violated." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:170 +msgid "" +"If the region specified by I plus I reaches or passes the end " +"of file, an error is returned; instead, use B(2) to truncate a " +"file." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:175 +msgid "" +"No other flags may be specified in I in conjunction with " +"B." +msgstr "" + +#. commit 9eb79482a97152930b113b51dff530aba9e28c8e +#. commit e1d8fb88a64c1f8094b9f6c3b6d2d9e6719c970d +#. type: Plain text +#: build/C/man2/fallocate.2:183 +msgid "" +"As at Linux 3.15, B is supported by ext4 (only for " +"extent-based files) and XFS." +msgstr "" + +#. type: SS +#: build/C/man2/fallocate.2:183 +#, no-wrap +msgid "Zeroing file space" +msgstr "" + +#. commit 409332b65d3ed8cfa7a8030f1e9d52f372219642 +#. type: Plain text +#: build/C/man2/fallocate.2:199 +msgid "" +"Specifying the B flag (available since Linux 3.14) in " +"I zeroes space in the byte range starting at I and continuing " +"for I 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 "" + +#. 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 +msgid "" +"If the B flag is additionally specified in I, the " +"behavior of the call is similar, but the file size will not be changed even " +"if I+I is greater than the file size. This behavior is the " +"same as when preallocating space with B specified." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:222 +msgid "" +"Not all filesystems support B; if a filesystem doesn't " +"support the operation, an error is returned. The operation is supported on " +"at least the following filesystems:" +msgstr "" + +#. commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa +#. type: Plain text +#: build/C/man2/fallocate.2:225 +msgid "XFS (since Linux 3.14)" +msgstr "" + +#. commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0 +#. type: Plain text +#: build/C/man2/fallocate.2:228 +msgid "ext4, for extent-based files (since Linux 3.14)" +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:235 +msgid "" +"On success, B() returns zero. On error, -1 is returned and " +"I is set to indicate the error." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:113 build/C/man2/madvise.2:279 build/C/man2/mmap.2:415 build/C/man2/posix_fadvise.2:90 build/C/man3/posix_fallocate.3:71 build/C/man2/readahead.2:72 build/C/man2/sync_file_range.2:148 +#: 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" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:117 build/C/man3/posix_fallocate.3:75 +#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77 msgid "I is not a valid file descriptor, or is not opened for writing." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:117 build/C/man3/posix_fallocate.3:75 +#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:121 +#: build/C/man2/fallocate.2:244 msgid "I+I exceeds the maximum file size." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:121 +#: build/C/man2/fallocate.2:244 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:124 +#: build/C/man2/fallocate.2:247 msgid "A signal was caught during execution." msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:136 build/C/man3/posix_fallocate.3:85 +#: build/C/man2/fallocate.2:259 build/C/man3/posix_fallocate.3:87 msgid "I was less than 0, or I was less than or equal to 0." msgstr "" +#. type: Plain text +#: build/C/man2/fallocate.2:269 +msgid "" +"I is B and the range specified by I " +"plus I reaches or passes the end of the file." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:279 +msgid "" +"I is B, but either I or I is " +"not a multiple of the filesystem block size." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:287 +msgid "" +"I contains both B and other flags; no other " +"flags are permitted with B." +msgstr "" + +#. 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 +#. 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 is B or B, but the " +"file referred to by I is not a regular file." +msgstr "" + #. type: TP -#: build/C/man2/fallocate.2:136 build/C/man2/madvise.2:310 build/C/man2/sync_file_range.2:160 +#: build/C/man2/fallocate.2:304 build/C/man2/madvise.2:310 build/C/man2/sync_file_range.2:160 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:139 -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:139 build/C/man2/mmap.2:450 build/C/man3/posix_fallocate.3:85 +#: build/C/man2/fallocate.2:307 build/C/man2/mmap.2:450 build/C/man3/posix_fallocate.3:87 build/C/man2/s390_pci_mmio_write.2:92 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:146 +#: build/C/man2/fallocate.2:314 msgid "" "I does not refer to a regular file or a directory. (If I is a pipe " "or FIFO, a different error results.)" msgstr "" #. type: TP -#: build/C/man2/fallocate.2:146 build/C/man3/posix_fallocate.3:89 build/C/man2/shmget.2:214 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:233 build/C/man2/sync_file_range.2:166 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:151 build/C/man3/posix_fallocate.3:94 +#: 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." msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:155 +#: build/C/man2/fallocate.2:323 msgid "This kernel does not implement B()." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:155 +#: build/C/man2/fallocate.2:323 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:164 +#: build/C/man2/fallocate.2:332 msgid "" -"The file system containing the file referred to by I does not support " -"this operation; or the I is not supported by the file system " -"containing the file referred to by I." +"The filesystem containing the file referred to by I does not support " +"this operation; or the I is not supported by the filesystem containing " +"the file referred to by I." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:164 build/C/man2/mlock.2:144 build/C/man2/mlock.2:183 build/C/man2/mmap.2:458 build/C/man2/shmctl.2:342 build/C/man2/shmget.2:222 +#: build/C/man2/fallocate.2:332 build/C/man2/fallocate.2:338 build/C/man2/fallocate.2:351 build/C/man2/mlock.2:143 build/C/man2/mlock.2:182 build/C/man2/mmap.2:458 build/C/man2/mmap.2:467 build/C/man2/shmctl.2:353 build/C/man2/shmget.2:241 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:180 +#: build/C/man2/fallocate.2:338 +msgid "The file referred to by I is marked immutable (see B(1))." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:351 msgid "" -"The file referred to by I is marked immutable (see B(1)). Or: " -"I specifies B and the file referred to by I " -"is marked append-only (see B(1))." +"I specifies B or B and " +"the file referred to by I is marked append-only (see B(1))." +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:355 build/C/man2/mmap.2:471 +msgid "The operation was prevented by a file seal; see B(2)." msgstr "" #. type: TP -#: build/C/man2/fallocate.2:180 build/C/man2/posix_fadvise.2:96 build/C/man3/posix_fallocate.3:94 build/C/man2/sync_file_range.2:169 +#: build/C/man2/fallocate.2:355 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" msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:184 +#: build/C/man2/fallocate.2:359 msgid "I refers to a pipe or FIFO." msgstr "" +#. type: TP +#: build/C/man2/fallocate.2:359 build/C/man2/mmap.2:471 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/fallocate.2:367 +msgid "" +"I specifies B, but the file referred to by " +"I is currently being executed." +msgstr "" + #. type: SH -#: build/C/man2/fallocate.2:184 build/C/man3/malloc_info.3:56 build/C/man3/mcheck.3:133 build/C/man2/mmap2.2:74 build/C/man2/posix_fadvise.2:103 build/C/man3/posix_fallocate.3:98 build/C/man3/posix_memalign.3:165 build/C/man2/readahead.2:82 build/C/man2/remap_file_pages.2:146 build/C/man3/shm_open.3:247 build/C/man2/subpage_prot.2:85 build/C/man2/sync_file_range.2:177 +#: build/C/man2/fallocate.2:367 build/C/man2/madvise.2:325 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:107 build/C/man3/posix_fallocate.3:100 build/C/man3/posix_memalign.3:167 build/C/man2/readahead.2:83 build/C/man2/remap_file_pages.2:156 build/C/man3/shm_open.3:249 build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:177 build/C/man2/memfd_create.2:155 build/C/man2/s390_pci_mmio_write.2:98 #, no-wrap msgid "VERSIONS" msgstr "" +#. See http://sourceware.org/bugzilla/show_bug.cgi?id=14964 #. type: Plain text -#: build/C/man2/fallocate.2:188 +#: build/C/man2/fallocate.2:375 msgid "" "B() is available on Linux since kernel 2.6.23. Support is " -"provided by glibc since version 2.10." +"provided by glibc since version 2.10. The B flags are defined " +"in glibc headers only since version 2.18." msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:191 +#: build/C/man2/fallocate.2:378 msgid "B() is Linux-specific." msgstr "" #. type: Plain text -#: build/C/man2/fallocate.2:195 -msgid "B(2), B(3), B(3)" +#: build/C/man2/fallocate.2:383 +msgid "B(1), B(2), B(3), B(3)" msgstr "" #. type: TH @@ -809,9 +1030,9 @@ msgid "MADVISE" msgstr "" #. type: TH -#: build/C/man2/madvise.2:35 build/C/man3/malloc_info.3:23 +#: build/C/man2/madvise.2:35 build/C/man2/posix_fadvise.2:28 #, no-wrap -msgid "2012-04-28" +msgid "2014-12-31" msgstr "" #. type: Plain text @@ -830,7 +1051,7 @@ msgid "BIB<, size_t >IB<, int >IB<);>" msgstr "" #. type: Plain text -#: build/C/man2/madvise.2:46 build/C/man2/posix_fadvise.2:42 build/C/man3/posix_fallocate.3:37 build/C/man3/posix_memalign.3:48 +#: build/C/man2/madvise.2:46 build/C/man2/posix_fadvise.2:43 build/C/man3/posix_fallocate.3:39 build/C/man3/posix_memalign.3:49 msgid "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" @@ -927,7 +1148,7 @@ msgstr "" #. type: TP #: build/C/man2/madvise.2:100 #, no-wrap -msgid "B (Since Linux 2.6.16)" +msgid "B (since Linux 2.6.16)" msgstr "" #. 2.6.18-rc5 @@ -939,14 +1160,14 @@ msgstr "" #: 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." msgstr "" #. type: TP #: build/C/man2/madvise.2:113 #, no-wrap -msgid "B (Since Linux 2.6.16)" +msgid "B (since Linux 2.6.16)" msgstr "" #. See http://lwn.net/Articles/171941/ @@ -984,7 +1205,7 @@ msgstr "" #. type: TP #: build/C/man2/madvise.2:144 #, no-wrap -msgid "B (Since Linux 2.6.16)" +msgid "B (since Linux 2.6.16)" msgstr "" #. type: Plain text @@ -997,24 +1218,24 @@ msgstr "" #. type: TP #: build/C/man2/madvise.2:150 #, no-wrap -msgid "B (Since Linux 2.6.32)" +msgid "B (since Linux 2.6.32)" msgstr "" #. type: Plain text #: build/C/man2/madvise.2:162 msgid "" "Poison a page and handle it like a hardware memory corruption. This " -"operation is only available for privileged (B) processes. " +"operation is available only for privileged (B) processes. " "This operation may result in the calling process receiving a B and " "the page being unmapped. This feature is intended for testing of memory " -"error-handling code; it is only available if the kernel was configured with " +"error-handling code; it is available only if the kernel was configured with " "B." msgstr "" #. type: TP #: build/C/man2/madvise.2:162 #, no-wrap -msgid "B (Since Linux 2.6.33)" +msgid "B (since Linux 2.6.33)" msgstr "" #. type: Plain text @@ -1027,7 +1248,7 @@ msgid "" "out of normal memory management). The effect of the B " "operation is invisible to (i.e., does not change the semantics of) the " "calling process. This feature is intended for testing of memory " -"error-handling code; it is only available if the kernel was configured with " +"error-handling code; it is available only if the kernel was configured with " "B." msgstr "" @@ -1045,12 +1266,12 @@ msgid "" "memory that have been marked as mergeable, looking for pages with identical " "content. These are replaced by a single write-protected page (which is " "automatically copied if a process later wants to update the content of the " -"page). KSM only merges private anonymous pages (see B(2)). The KSM " +"page). KSM merges only private anonymous pages (see B(2)). The KSM " "feature is intended for applications that generate many instances of the " "same data (e.g., virtualization systems such as KVM). It can consume a lot " -"of processing power; use with care. See the kernel source file " +"of processing power; use with care. See the Linux kernel source file " "I for more details. The B and " -"B operations are only available if the kernel was " +"B operations are available only if the kernel was " "configured with B." msgstr "" @@ -1080,7 +1301,7 @@ msgstr "" #: build/C/man2/madvise.2:243 msgid "" "Enables Transparent Huge Pages (THP) for pages in the range specified by " -"I and I. Currently, Transparent Huge Pages only work with " +"I and I. Currently, Transparent Huge Pages work only with " "private anonymous pages (see B(2)). The kernel will regularly scan " "the areas marked as huge page candidates to replace them with huge pages. " "The kernel will also allocate huge pages directly when the region is " @@ -1089,10 +1310,10 @@ msgid "" "and access large regions of that memory at a time (e.g., virtualization " "systems such as QEMU). It can very easily waste memory (e.g., a 2MB mapping " "that only ever accesses 1 byte will result in 2MB of wired memory instead of " -"one 4KB page). See the kernel source file I " -"for more details. The B and B operations " -"are only available if the kernel was configured with " -"B." +"one 4KB page). See the Linux kernel source file " +"I for more details. The B " +"and B operations are available only if the kernel was " +"configured with B." msgstr "" #. type: TP @@ -1143,7 +1364,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:155 build/C/man2/mmap.2:411 build/C/man2/mremap.2:137 +#: 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" msgstr "" @@ -1163,12 +1384,6 @@ msgstr "" 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:233 build/C/man3/mallopt.3:239 -#, no-wrap -msgid "*" -msgstr "" - #. .I len #. is zero, #. type: Plain text @@ -1208,7 +1423,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/madvise.2:316 build/C/man2/madvise.2:321 build/C/man2/mlock.2:124 build/C/man2/mlock.2:132 build/C/man2/mlock.2:170 build/C/man2/mmap.2:454 build/C/man2/mprotect.2:94 build/C/man2/mprotect.2:97 build/C/man2/mremap.2:180 build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:162 build/C/man2/shmctl.2:326 build/C/man2/shmget.2:211 build/C/man2/shmop.2:209 build/C/man2/subpage_prot.2:82 build/C/man2/sync_file_range.2:163 +#: 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:454 build/C/man2/mprotect.2:99 build/C/man2/mprotect.2:102 build/C/man2/mremap.2:179 build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:164 build/C/man2/shmctl.2:337 build/C/man2/shmget.2:230 build/C/man2/shmop.2:211 build/C/man2/subpage_prot.2:87 build/C/man2/sync_file_range.2:163 build/C/man2/memfd_create.2:152 build/C/man2/s390_pci_mmio_write.2:95 #, no-wrap msgid "B" msgstr "" @@ -1225,30 +1440,39 @@ msgid "" "the address space of the process." msgstr "" +#. commit d3ac21cacc24790eb45d735769f35753f5b56ceb +#. type: Plain text +#: build/C/man2/madvise.2:332 +msgid "" +"Since Linux 3.18, support for this system call is optional, depending on the " +"setting of the B configuration option." +msgstr "" + #. FIXME . Write a posix_madvise(3) page. #. type: Plain text -#: build/C/man2/madvise.2:337 +#: build/C/man2/madvise.2:345 msgid "" "POSIX.1b. POSIX.1-2001 describes B(3) with constants " -"B, etc., with a behavior close to that described here. " -"There is a similar B(2) for file access." +"B, B, and so on, with a behavior close " +"to that described here. There is a similar B(2) for file " +"access." msgstr "" #. type: Plain text -#: build/C/man2/madvise.2:346 +#: build/C/man2/madvise.2:354 msgid "" "B, B, B, B, " "B, and B are Linux-specific." msgstr "" #. type: SS -#: build/C/man2/madvise.2:347 build/C/man2/mlock.2:268 build/C/man2/shmget.2:278 +#: build/C/man2/madvise.2:355 build/C/man2/mlock.2:274 build/C/man2/shmget.2:370 #, no-wrap -msgid "Linux Notes" +msgid "Linux notes" msgstr "" #. type: Plain text -#: build/C/man2/madvise.2:355 +#: build/C/man2/madvise.2:363 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 " @@ -1261,7 +1485,7 @@ msgstr "" #. .BR madvise () #. function first appeared in 4.4BSD. #. type: Plain text -#: build/C/man2/madvise.2:371 +#: build/C/man2/madvise.2:379 msgid "" "The Linux implementation requires that the address I be page-aligned, " "and allows I to be zero. If there are some parts of the specified " @@ -1271,41 +1495,41 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/madvise.2:379 +#: build/C/man2/madvise.2:388 msgid "" "B(2), B(2), B(2), B(2), B(2), " -"B(2), B(5)" +"B(2), B(2), B(5)" msgstr "" #. type: TH -#: build/C/man3/mallinfo.3:24 +#: build/C/man3/mallinfo.3:26 #, no-wrap msgid "MALLINFO" msgstr "" #. type: TH -#: build/C/man3/mallinfo.3:24 build/C/man3/malloc_stats.3:24 +#: build/C/man3/mallinfo.3:26 build/C/man3/malloc_stats.3:26 #, no-wrap msgid "2012-05-06" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:27 +#: build/C/man3/mallinfo.3:29 msgid "mallinfo - obtain memory allocation information" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:29 build/C/man3/malloc_stats.3:29 build/C/man3/malloc_trim.3:29 build/C/man3/malloc_usable_size.3:28 build/C/man3/mallopt.3:29 +#: build/C/man3/mallinfo.3:31 build/C/man3/malloc_stats.3:31 build/C/man3/malloc_trim.3:31 build/C/man3/malloc_usable_size.3:30 build/C/man3/mallopt.3:31 msgid "B<#include Emalloc.hE>" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:31 +#: build/C/man3/mallinfo.3:33 msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:39 +#: build/C/man3/mallinfo.3:41 msgid "" "The B() function returns a copy of a structure containing " "information about memory allocations performed by B(3) and related " @@ -1313,7 +1537,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:54 +#: build/C/man3/mallinfo.3:56 #, no-wrap msgid "" "struct mallinfo {\n" @@ -1331,18 +1555,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:60 +#: build/C/man3/mallinfo.3:62 msgid "The fields of the I structure contain the following information:" msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:61 +#: build/C/man3/mallinfo.3:62 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:67 +#: build/C/man3/mallinfo.3:68 msgid "" "The total amount of memory allocated by means other than B(2) (i.e., " "memory allocated on the heap). This figure includes both in-use blocks and " @@ -1350,59 +1574,59 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:67 +#: build/C/man3/mallinfo.3:68 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:70 +#: build/C/man3/mallinfo.3:71 msgid "The number of ordinary (i.e., non-fastbin) free blocks." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:70 +#: build/C/man3/mallinfo.3:71 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:74 +#: build/C/man3/mallinfo.3:75 msgid "The number of fastbin free blocks (see B(3))." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:74 +#: build/C/man3/mallinfo.3:75 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:82 +#: build/C/man3/mallinfo.3:83 msgid "" "The number of blocks currently allocated using B(2). (See the " "discussion of B in B(3).)" msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:82 +#: build/C/man3/mallinfo.3:83 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:86 +#: build/C/man3/mallinfo.3:87 msgid "The number of bytes in blocks currently allocated using B(2)." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:86 +#: build/C/man3/mallinfo.3:87 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:91 +#: build/C/man3/mallinfo.3:92 msgid "" "The \"highwater mark\" for allocated space\\(emthat is, the maximum amount " "of space that was ever allocated. This field is maintained only in " @@ -1410,40 +1634,40 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:91 +#: build/C/man3/mallinfo.3:92 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:94 +#: build/C/man3/mallinfo.3:95 msgid "The total number of bytes in fastbin free blocks." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:94 +#: build/C/man3/mallinfo.3:95 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:97 +#: build/C/man3/mallinfo.3:98 msgid "The total number of bytes used by in-use allocations." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:97 +#: build/C/man3/mallinfo.3:98 #, no-wrap msgid "I" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:100 +#: build/C/man3/mallinfo.3:101 msgid "The total number of bytes in free blocks." msgstr "" #. type: TP -#: build/C/man3/mallinfo.3:100 +#: build/C/man3/mallinfo.3:101 #, no-wrap msgid "I" msgstr "" @@ -1451,7 +1675,7 @@ msgstr "" #. .SH VERSIONS #. Available already in glibc 2.0, possibly earlier #. type: Plain text -#: build/C/man3/mallinfo.3:109 +#: build/C/man3/mallinfo.3:110 msgid "" "The total amount of releasable free space at the top of the heap. This is " "the maximum number of bytes that could ideally (i.e., ignoring page " @@ -1459,18 +1683,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:113 +#: build/C/man3/mallinfo.3:114 msgid "" "This function is not specified by POSIX or the C standards. A similar " "function exists on many System V derivatives, and was specified in the SVID." msgstr "" -#. FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=208 +#. FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=208 #. See the 24 Aug 2011 mail by Paul Pluzhnikov: #. "[patch] Fix mallinfo() to accumulate results for all arenas" #. on libc-alpha@sourceware.org #. type: Plain text -#: build/C/man3/mallinfo.3:125 +#: build/C/man3/mallinfo.3:126 msgid "" "B " "Allocations in other arenas are excluded. See B(3) and " @@ -1479,7 +1703,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:133 +#: build/C/man3/mallinfo.3:134 msgid "" "The fields of the I structure are typed as I. However, " "because some internal bookkeeping values may be of type I, the " @@ -1487,13 +1711,13 @@ msgid "" msgstr "" #. type: SH -#: build/C/man3/mallinfo.3:133 build/C/man3/malloc_hook.3:85 build/C/man3/malloc_info.3:80 build/C/man3/mallopt.3:464 build/C/man3/mcheck.3:159 build/C/man2/mmap.2:571 build/C/man2/mprotect.2:142 build/C/man3/mtrace.3:106 +#: 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:454 build/C/man3/mcheck.3:159 build/C/man2/mmap.2:633 build/C/man2/mprotect.2:147 build/C/man3/mtrace.3:108 build/C/man2/memfd_create.2:293 #, no-wrap msgid "EXAMPLE" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:139 +#: build/C/man3/mallinfo.3:140 msgid "" "The program below employs B() to retrieve memory allocation " "statistics before and after allocating and freeing some blocks of memory. " @@ -1501,14 +1725,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:143 +#: build/C/man3/mallinfo.3:144 msgid "" "The first two command-line arguments specify the number and size of blocks " "to be allocated with B(3)." msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:157 +#: build/C/man3/mallinfo.3:158 msgid "" "The remaining three arguments specify which of the allocated blocks should " "be freed with B(3). These three arguments are optional, and specify " @@ -1522,14 +1746,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:161 +#: build/C/man3/mallinfo.3:162 msgid "" "In the following example run of the program, 1000 allocations of 100 bytes " "are performed, and then every second allocated block is freed:" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:176 +#: build/C/man3/mallinfo.3:177 #, no-wrap msgid "" "$ B<./a.out 1000 100 2>\n" @@ -1547,7 +1771,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:188 +#: build/C/man3/mallinfo.3:189 #, no-wrap msgid "" "============== After allocating blocks ==============\n" @@ -1564,7 +1788,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:200 +#: build/C/man3/mallinfo.3:201 #, no-wrap msgid "" "============== After freeing blocks ==============\n" @@ -1581,13 +1805,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man3/mallinfo.3:202 build/C/man3/malloc_info.3:163 build/C/man3/mallopt.3:530 build/C/man3/mcheck.3:176 build/C/man2/mprotect.2:159 +#: build/C/man3/mallinfo.3:203 build/C/man3/malloc_info.3:167 build/C/man3/mallopt.3:520 build/C/man3/mcheck.3:176 build/C/man2/mmap.2:645 build/C/man2/mprotect.2:164 #, no-wrap msgid "Program source" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:207 +#: build/C/man3/mallinfo.3:208 #, no-wrap msgid "" "#include Emalloc.hE\n" @@ -1595,7 +1819,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:212 +#: build/C/man3/mallinfo.3:213 #, no-wrap msgid "" "static void\n" @@ -1605,13 +1829,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:214 +#: build/C/man3/mallinfo.3:215 #, no-wrap msgid " mi = mallinfo();\n" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:226 +#: build/C/man3/mallinfo.3:227 #, no-wrap msgid "" " printf(\"Total non-mmapped bytes (arena): %d\\en\", mi.arena);\n" @@ -1631,7 +1855,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:234 +#: build/C/man3/mallinfo.3:235 #, no-wrap msgid "" "int\n" @@ -1644,7 +1868,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:238 +#: build/C/man3/mallinfo.3:239 #, no-wrap msgid "" " if (argc E 3 || strcmp(argv[1], \"--help\") == 0)\n" @@ -1653,7 +1877,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:244 +#: build/C/man3/mallinfo.3:245 #, no-wrap msgid "" " numBlocks = atoi(argv[1]);\n" @@ -1664,7 +1888,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:247 +#: build/C/man3/mallinfo.3:248 #, no-wrap msgid "" " printf(\"============== Before allocating blocks " @@ -1673,7 +1897,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:251 +#: build/C/man3/mallinfo.3:252 #, no-wrap msgid "" " for (j = 0; j E numBlocks; j++) {\n" @@ -1682,7 +1906,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:256 +#: build/C/man3/mallinfo.3:257 #, no-wrap msgid "" " alloc[j] = malloc(blockSize);\n" @@ -1692,7 +1916,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:259 +#: build/C/man3/mallinfo.3:260 #, no-wrap msgid "" " printf(\"\\en============== After allocating blocks " @@ -1701,7 +1925,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:262 +#: build/C/man3/mallinfo.3:263 #, no-wrap msgid "" " for (j = freeBegin; j E freeEnd; j += freeStep)\n" @@ -1709,7 +1933,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:265 +#: build/C/man3/mallinfo.3:266 #, no-wrap msgid "" " printf(\"\\en============== After freeing blocks " @@ -1718,7 +1942,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:268 build/C/man3/malloc_info.3:251 build/C/man3/mallopt.3:563 build/C/man3/mcheck.3:203 build/C/man2/mmap.2:652 +#: build/C/man3/mallinfo.3:269 build/C/man3/malloc_info.3:255 build/C/man3/mallopt.3:553 build/C/man3/mcheck.3:203 build/C/man2/mmap.2:714 build/C/man2/memfd_create.2:437 build/C/man2/memfd_create.2:486 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" @@ -1726,51 +1950,51 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallinfo.3:278 +#: build/C/man3/mallinfo.3:279 msgid "" "B(2), B(3), B(3), B(3), " "B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_get_state.3:23 +#: build/C/man3/malloc_get_state.3:25 #, no-wrap msgid "MALLOC_GET_STATE" msgstr "" #. type: TH -#: build/C/man3/malloc_get_state.3:23 +#: build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_usable_size.3:25 #, no-wrap -msgid "2012-05-04" +msgid "2014-06-13" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:26 +#: build/C/man3/malloc_get_state.3:28 msgid "" "malloc_get_state, malloc_set_state - record and restore state of malloc " "implementation" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:29 build/C/man3/posix_memalign.3:34 +#: build/C/man3/malloc_get_state.3:31 build/C/man3/malloc_hook.3:18 build/C/man3/malloc_info.3:31 build/C/man3/posix_memalign.3:41 #, no-wrap -msgid "B<#include Estdlib.hE>\n" +msgid "B<#include Emalloc.hE>\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:31 +#: build/C/man3/malloc_get_state.3:33 #, no-wrap msgid "B\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:33 +#: build/C/man3/malloc_get_state.3:35 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:51 +#: build/C/man3/malloc_get_state.3:53 msgid "" "The B() function records the current state of all " "B(3) internal bookkeeping variables (but not the actual contents of " @@ -1782,7 +2006,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:59 +#: build/C/man3/malloc_get_state.3:61 msgid "" "The B() function restores the state of all B(3) " "internal bookkeeping variables to the values recorded in the opaque data " @@ -1790,7 +2014,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:66 +#: build/C/man3/malloc_get_state.3:68 msgid "" "On success, B() returns a pointer to a newly allocated " "opaque data structure. On error (for example, memory could not be allocated " @@ -1801,7 +2025,7 @@ msgstr "" #. /* Must fail if the major version is too high. */ #. if((ms->version & ~0xffl) > (MALLOC_STATE_VERSION & ~0xffl)) return -2; #. type: Plain text -#: build/C/man3/malloc_get_state.3:84 +#: build/C/man3/malloc_get_state.3:86 msgid "" "On success, B() returns 0. If the implementation detects " "that I does not point to a correctly formed data structure, " @@ -1812,24 +2036,24 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:86 build/C/man3/malloc_hook.3:78 build/C/man3/mcheck.3:146 build/C/man3/mtrace.3:78 +#: build/C/man3/malloc_get_state.3:88 build/C/man3/malloc_hook.3:82 build/C/man3/mcheck.3:147 build/C/man3/mtrace.3:80 msgid "These functions are GNU extensions." msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:92 +#: build/C/man3/malloc_get_state.3:94 msgid "" -"These functions are especially useful when using this B(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(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() #. i.e., malloc checking is not already in use #. and the caller requested malloc checking #. type: Plain text -#: build/C/man3/malloc_get_state.3:109 +#: build/C/man3/malloc_get_state.3:111 msgid "" "Hook function pointers are never saved or restored by these functions, with " "two exceptions: if malloc checking (see B(3)) was in use when " @@ -1840,43 +2064,37 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_get_state.3:112 +#: build/C/man3/malloc_get_state.3:114 msgid "B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_hook.3:6 +#: build/C/man3/malloc_hook.3:10 #, no-wrap msgid "MALLOC_HOOK" msgstr "" #. type: TH -#: build/C/man3/malloc_hook.3:6 +#: build/C/man3/malloc_hook.3:10 #, no-wrap msgid "2010-10-13" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:11 +#: build/C/man3/malloc_hook.3:15 msgid "" "__malloc_hook, __malloc_initialize_hook, __memalign_hook, __free_hook, " "__realloc_hook, __after_morecore_hook - malloc debugging variables" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:14 build/C/man3/malloc_info.3:29 build/C/man3/posix_memalign.3:40 -#, no-wrap -msgid "B<#include Emalloc.hE>\n" -msgstr "" - -#. type: Plain text -#: build/C/man3/malloc_hook.3:16 +#: build/C/man3/malloc_hook.3:20 #, no-wrap msgid "BIB<, const void *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:19 +#: build/C/man3/malloc_hook.3:23 #, no-wrap msgid "" "BIB<, size_t >IB<, const void " @@ -1884,7 +2102,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:22 +#: build/C/man3/malloc_hook.3:26 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -1892,25 +2110,25 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:24 +#: build/C/man3/malloc_hook.3:28 #, no-wrap msgid "BIB<, const void *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:26 +#: build/C/man3/malloc_hook.3:30 #, no-wrap msgid "B\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:28 +#: build/C/man3/malloc_hook.3:32 #, no-wrap msgid "B\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:39 +#: build/C/man3/malloc_hook.3:43 msgid "" "The GNU C library lets you modify the behavior of B(3), " "B(3), and B(3) by specifying appropriate hook functions. " @@ -1919,7 +2137,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:46 +#: build/C/man3/malloc_hook.3:50 msgid "" "The variable B<__malloc_initialize_hook> points at a function that is called " "once when the malloc implementation is initialized. This is a weak " @@ -1928,18 +2146,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:49 +#: build/C/man3/malloc_hook.3:53 #, no-wrap msgid " void (*__malloc_initialize_hook)(void) = my_init_hook;\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:54 +#: build/C/man3/malloc_hook.3:58 msgid "Now the function I() can do the initialization of all hooks." msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:70 +#: build/C/man3/malloc_hook.3:74 msgid "" "The four functions pointed to by B<__malloc_hook>, B<__realloc_hook>, " "B<__memalign_hook>, B<__free_hook> have a prototype like the functions " @@ -1949,7 +2167,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:76 +#: build/C/man3/malloc_hook.3:80 msgid "" "The variable B<__after_morecore_hook> points at a function that is called " "each time after B(2) was asked for more memory." @@ -1958,7 +2176,7 @@ msgstr "" #. https://bugzilla.redhat.com/show_bug.cgi?id=450187 #. http://sourceware.org/bugzilla/show_bug.cgi?id=9957 #. type: Plain text -#: build/C/man3/malloc_hook.3:85 +#: build/C/man3/malloc_hook.3:89 msgid "" "The use of these hook functions is not safe in multithreaded programs, and " "they are now deprecated. Programmers should instead preempt calls to the " @@ -1967,12 +2185,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:87 +#: build/C/man3/malloc_hook.3:91 msgid "Here is a short example of how to use these variables." msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:91 +#: build/C/man3/malloc_hook.3:95 #, no-wrap msgid "" "#include Estdio.hE\n" @@ -1980,7 +2198,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:95 +#: build/C/man3/malloc_hook.3:99 #, no-wrap msgid "" "/* Prototypes for our hooks. */\n" @@ -1989,7 +2207,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:98 +#: build/C/man3/malloc_hook.3:102 #, no-wrap msgid "" "/* Variables to save original hooks. */\n" @@ -1997,7 +2215,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:101 +#: build/C/man3/malloc_hook.3:105 #, no-wrap msgid "" "/* Override initializing hook from the C library. */\n" @@ -2005,7 +2223,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:108 +#: build/C/man3/malloc_hook.3:112 #, no-wrap msgid "" "static void\n" @@ -2017,7 +2235,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:113 +#: build/C/man3/malloc_hook.3:117 #, no-wrap msgid "" "static void *\n" @@ -2027,7 +2245,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:116 +#: build/C/man3/malloc_hook.3:120 #, no-wrap msgid "" " /* Restore all old hooks */\n" @@ -2035,7 +2253,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:119 +#: build/C/man3/malloc_hook.3:123 #, no-wrap msgid "" " /* Call recursively */\n" @@ -2043,7 +2261,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:122 +#: build/C/man3/malloc_hook.3:126 #, no-wrap msgid "" " /* Save underlying hooks */\n" @@ -2051,7 +2269,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:126 +#: build/C/man3/malloc_hook.3:130 #, no-wrap msgid "" " /* printf() might call malloc(), so protect it too. */\n" @@ -2060,7 +2278,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:129 +#: build/C/man3/malloc_hook.3:133 #, no-wrap msgid "" " /* Restore our own hooks */\n" @@ -2068,7 +2286,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:132 +#: build/C/man3/malloc_hook.3:136 #, no-wrap msgid "" " return result;\n" @@ -2076,63 +2294,65 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_hook.3:138 +#: build/C/man3/malloc_hook.3:142 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_info.3:23 +#: build/C/man3/malloc_info.3:25 #, no-wrap msgid "MALLOC_INFO" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:26 +#: build/C/man3/malloc_info.3:28 msgid "malloc_info - export malloc state to a stream" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:31 +#: build/C/man3/malloc_info.3:33 #, no-wrap -msgid "BIB<, FILE *>IB<);>\n" +msgid "BIB<, FILE *>IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:42 +#: build/C/man3/malloc_info.3:44 msgid "" "The B() function exports an XML string that describes the " "current state of the memory-allocation implementation in the caller. The " -"string is printed on the file stream I. The exported string includes " -"information about all arenas (see B(3))." +"string is printed on the file stream I. The exported string " +"includes information about all arenas (see B(3))." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:46 +#: build/C/man3/malloc_info.3:48 msgid "As currently implemented, I must be zero." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:51 -msgid "On success, B() returns 0; on error, it returns -1." +#: build/C/man3/malloc_info.3:55 +msgid "" +"On success, B() returns 0; on error, it returns -1, with " +"I set to indicate the cause." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:56 +#: build/C/man3/malloc_info.3:60 msgid "I was nonzero." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:59 -msgid "B(3) was added to glibc in version 2.10." +#: build/C/man3/malloc_info.3:63 +msgid "B() was added to glibc in version 2.10." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:61 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/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:55 msgid "This function is a GNU extension." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:67 +#: build/C/man3/malloc_info.3:71 msgid "" "The memory-allocation information is provided as an XML string (rather than " "a C structure) because the information may change over time (according to " @@ -2141,21 +2361,21 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:73 +#: build/C/man3/malloc_info.3:77 msgid "" "The B(3) function can be used to send the output of " "B() directly into a buffer in memory, rather than to a file." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:80 +#: build/C/man3/malloc_info.3:84 msgid "" "The B() function is designed to address deficiencies in " "B(3) and B(3)." msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:91 +#: build/C/man3/malloc_info.3:95 msgid "" "The program below takes up to four command-line arguments, of which the " "first three are mandatory. The first argument specifies the number of " @@ -2168,7 +2388,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:98 +#: build/C/man3/malloc_info.3:102 msgid "" "The program calls B() twice to display the memory-allocation " "state. The first call takes place before any threads are created or memory " @@ -2177,7 +2397,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:106 +#: build/C/man3/malloc_info.3:110 msgid "" "In the following example, the command-line arguments specify the creation of " "one additional thread, and both the main thread and the additional thread " @@ -2186,7 +2406,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:131 +#: build/C/man3/malloc_info.3:135 #, no-wrap msgid "" "$ B\n" @@ -2214,7 +2434,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:161 +#: build/C/man3/malloc_info.3:165 #, no-wrap msgid "" "============ After allocating blocks ============\n" @@ -2249,7 +2469,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:171 +#: build/C/man3/malloc_info.3:175 #, no-wrap msgid "" "#include Eunistd.hE\n" @@ -2260,7 +2480,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:174 +#: build/C/man3/malloc_info.3:178 #, no-wrap msgid "" "static size_t blockSize;\n" @@ -2268,7 +2488,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:177 +#: build/C/man3/malloc_info.3:181 build/C/man2/memfd_create.2:368 build/C/man2/memfd_create.2:450 #, no-wrap msgid "" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" @@ -2276,7 +2496,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:183 +#: build/C/man3/malloc_info.3:187 #, no-wrap msgid "" "static void *\n" @@ -2287,7 +2507,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:186 +#: build/C/man3/malloc_info.3:190 #, no-wrap msgid "" " /* The multiplier \\(aq(2 + tn)\\(aq ensures that each thread " @@ -2296,7 +2516,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:190 +#: build/C/man3/malloc_info.3:194 #, no-wrap msgid "" " for (j = 0; j E numBlocks; j++)\n" @@ -2305,7 +2525,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:194 +#: build/C/man3/malloc_info.3:198 #, no-wrap msgid "" " sleep(100); /* Sleep until main thread terminates */\n" @@ -2314,7 +2534,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:200 +#: build/C/man3/malloc_info.3:204 #, no-wrap msgid "" "int\n" @@ -2325,7 +2545,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:207 +#: build/C/man3/malloc_info.3:211 #, no-wrap msgid "" " if (argc E 4) {\n" @@ -2337,7 +2557,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:212 +#: build/C/man3/malloc_info.3:216 #, no-wrap msgid "" " numThreads = atoi(argv[1]);\n" @@ -2347,7 +2567,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:216 +#: build/C/man3/malloc_info.3:220 #, no-wrap msgid "" " thr = calloc(numThreads, sizeof(pthread_t));\n" @@ -2356,7 +2576,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:219 +#: build/C/man3/malloc_info.3:223 #, no-wrap msgid "" " printf(\"============ Before allocating blocks ============\\en\");\n" @@ -2364,13 +2584,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:221 +#: build/C/man3/malloc_info.3:225 #, no-wrap msgid " /* Create threads that allocate different amounts of memory */\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:227 +#: build/C/man3/malloc_info.3:231 #, no-wrap msgid "" " for (tn = 0; tn E numThreads; tn++) {\n" @@ -2381,7 +2601,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:232 +#: build/C/man3/malloc_info.3:236 #, no-wrap msgid "" " /* If we add a sleep interval after the start-up of each\n" @@ -2391,7 +2611,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:236 +#: build/C/man3/malloc_info.3:240 #, no-wrap msgid "" " if (sleepTime E 0)\n" @@ -2400,13 +2620,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:238 +#: build/C/man3/malloc_info.3:242 #, no-wrap msgid " /* The main thread also allocates some memory */\n" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:242 +#: build/C/man3/malloc_info.3:246 #, no-wrap msgid "" " for (j = 0; j E numBlocks; j++)\n" @@ -2415,7 +2635,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:245 +#: build/C/man3/malloc_info.3:249 #, no-wrap msgid "" " sleep(2); /* Give all threads a chance to\n" @@ -2423,7 +2643,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:248 +#: build/C/man3/malloc_info.3:252 #, no-wrap msgid "" " printf(\"\\en============ After allocating blocks ============\\en\");\n" @@ -2431,32 +2651,32 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_info.3:258 +#: build/C/man3/malloc_info.3:262 msgid "" "B(3), B(3), B(3), B(3), " "B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_stats.3:24 +#: build/C/man3/malloc_stats.3:26 #, no-wrap msgid "MALLOC_STATS" msgstr "" #. type: Plain text -#: build/C/man3/malloc_stats.3:27 +#: build/C/man3/malloc_stats.3:29 msgid "malloc_stats - print memory allocation statistics" msgstr "" #. type: Plain text -#: build/C/man3/malloc_stats.3:31 +#: build/C/man3/malloc_stats.3:33 msgid "B" msgstr "" #. .SH VERSIONS #. Available already in glibc 2.0, possibly earlier #. type: Plain text -#: build/C/man3/malloc_stats.3:53 +#: build/C/man3/malloc_stats.3:55 msgid "" "The B() function prints (on standard error) statistics about " "memory allocated by B(3) and related functions. For each arena " @@ -2469,48 +2689,48 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_stats.3:59 +#: build/C/man3/malloc_stats.3:61 msgid "" "More detailed information about memory allocations in the main arena can be " "obtained using B(3)." msgstr "" #. type: Plain text -#: build/C/man3/malloc_stats.3:65 +#: build/C/man3/malloc_stats.3:67 msgid "B(2), B(3), B(3), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_trim.3:24 +#: build/C/man3/malloc_trim.3:26 #, no-wrap msgid "MALLOC_TRIM" msgstr "" #. type: TH -#: build/C/man3/malloc_trim.3:24 build/C/man3/malloc_usable_size.3:23 +#: build/C/man3/malloc_trim.3:26 build/C/man2/remap_file_pages.2:28 #, no-wrap -msgid "2012-03-29" +msgid "2014-05-28" msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:27 +#: build/C/man3/malloc_trim.3:29 msgid "malloc_trim - release free memory from the top of the heap" msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:31 -msgid "BIB<);>" +#: build/C/man3/malloc_trim.3:33 +msgid "BIB<);>" msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:38 +#: build/C/man3/malloc_trim.3:40 msgid "" "The B() function attempts to release free memory at the top of " "the heap (by calling B(2) with a suitable argument)." msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:49 +#: build/C/man3/malloc_trim.3:51 msgid "" "The I argument specifies the amount of free space to leave untrimmed at " "the top of the heap. If this argument is 0, only the minimum amount of " @@ -2521,7 +2741,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:54 +#: build/C/man3/malloc_trim.3:56 msgid "" "The B() function returns 1 if memory was actually released " "back to the system, or 0 if it was not possible to release any memory." @@ -2530,12 +2750,12 @@ msgstr "" #. .SH VERSIONS #. Available already in glibc 2.0, possibly earlier #. type: Plain text -#: build/C/man3/malloc_trim.3:58 +#: build/C/man3/malloc_trim.3:60 msgid "No errors are defined." msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:69 +#: build/C/man3/malloc_trim.3:71 msgid "" "This function is automatically called by B(3) in certain " "circumstances; see the discussion of B and B in " @@ -2543,7 +2763,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:72 +#: build/C/man3/malloc_trim.3:74 msgid "" "This function cannot release free memory located at places other than the " "top of the heap." @@ -2552,33 +2772,33 @@ msgstr "" #. malloc/malloc.c::mTRIm(): #. return result | (av == &main_arena ? sYSTRIm (pad, av) : 0); #. type: Plain text -#: build/C/man3/malloc_trim.3:76 -msgid "This function only releases memory in the main arena." +#: build/C/man3/malloc_trim.3:78 +msgid "This function releases only memory in the main arena." msgstr "" #. type: Plain text -#: build/C/man3/malloc_trim.3:80 +#: build/C/man3/malloc_trim.3:82 msgid "B(2), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/malloc_usable_size.3:23 +#: build/C/man3/malloc_usable_size.3:25 #, no-wrap msgid "MALLOC_USABLE_SIZE" msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:26 +#: build/C/man3/malloc_usable_size.3:28 msgid "malloc_usable_size - obtain size of block of memory allocated from heap" msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:30 +#: build/C/man3/malloc_usable_size.3:32 msgid "BIB<);>" msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:38 +#: build/C/man3/malloc_usable_size.3:40 msgid "" "The B() function returns the number of usable bytes in " "the block pointed to by I, a pointer to a block of memory allocated by " @@ -2586,14 +2806,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:46 +#: build/C/man3/malloc_usable_size.3:48 msgid "" "B() returns the number of usable bytes in the block of " "allocated memory pointed to by I. If I is NULL, 0 is returned." msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:58 +#: build/C/man3/malloc_usable_size.3:53 +msgid "The B() function is thread-safe." +msgstr "" + +#. type: Plain text +#: build/C/man3/malloc_usable_size.3:65 msgid "" "The value returned by B() may be greater than the " "requested size of the allocation because of alignment and minimum size " @@ -2604,39 +2829,39 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:60 +#: build/C/man3/malloc_usable_size.3:67 msgid "The main use of this function is for debugging and introspection." msgstr "" #. type: Plain text -#: build/C/man3/malloc_usable_size.3:62 +#: build/C/man3/malloc_usable_size.3:69 msgid "B(3)" msgstr "" #. type: TH -#: build/C/man3/mallopt.3:24 +#: build/C/man3/mallopt.3:26 #, no-wrap msgid "MALLOPT" msgstr "" #. type: TH -#: build/C/man3/mallopt.3:24 +#: build/C/man3/mallopt.3:26 build/C/man2/shmop.2:41 #, no-wrap -msgid "2012-04-30" +msgid "2014-07-08" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:27 +#: build/C/man3/mallopt.3:29 msgid "mallopt - set memory allocation parameters" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:31 +#: build/C/man3/mallopt.3:33 msgid "BIB<, int >IB<);>" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:42 +#: build/C/man3/mallopt.3:44 msgid "" "The B() function adjusts parameters that control the behavior of " "the memory-allocation functions (see B(3)). The I argument " @@ -2645,18 +2870,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:45 +#: build/C/man3/mallopt.3:47 msgid "The following values can be specified for I:" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:45 +#: build/C/man3/mallopt.3:47 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:51 +#: build/C/man3/mallopt.3:53 msgid "" "Setting this parameter controls how glibc responds when various kinds of " "programming errors are detected (e.g., freeing the same pointer twice). The " @@ -2665,13 +2890,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:52 +#: build/C/man3/mallopt.3:54 #, no-wrap msgid "Bit 0" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:62 +#: build/C/man3/mallopt.3:64 msgid "" "If this bit is set, then print a one-line message on I that provides " "details about the error. The message starts with the string \"***\\ glibc " @@ -2682,13 +2907,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:62 +#: build/C/man3/mallopt.3:64 #, no-wrap msgid "Bit 1" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:77 +#: build/C/man3/mallopt.3:79 msgid "" "If this bit is set, then, after printing any error message specified by bit " "0, the program is terminated by calling B(3). In glibc versions " @@ -2699,13 +2924,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:77 +#: build/C/man3/mallopt.3:79 #, no-wrap msgid "Bit 2 (since glibc 2.4)" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:84 +#: build/C/man3/mallopt.3:86 msgid "" "This bit has an effect only if bit 0 is also set. If this bit is set, then " "the one-line message describing the error is simplified to contain just the " @@ -2714,96 +2939,96 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:89 +#: build/C/man3/mallopt.3:91 msgid "The remaining bits in I are ignored." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:93 +#: build/C/man3/mallopt.3:95 msgid "" "Combining the above details, the following numeric values are meaningful for " "B:" msgstr "" #. type: IP -#: build/C/man3/mallopt.3:94 +#: build/C/man3/mallopt.3:96 #, no-wrap msgid "0" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:96 +#: build/C/man3/mallopt.3:98 msgid "Ignore error conditions; continue execution (with undefined results)." msgstr "" #. type: IP -#: build/C/man3/mallopt.3:96 +#: build/C/man3/mallopt.3:98 #, no-wrap msgid "1" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:98 +#: build/C/man3/mallopt.3:100 msgid "Print a detailed error message and continue execution." msgstr "" #. type: IP -#: build/C/man3/mallopt.3:98 +#: build/C/man3/mallopt.3:100 #, no-wrap msgid "2" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:100 +#: build/C/man3/mallopt.3:102 msgid "Abort the program." msgstr "" #. type: IP -#: build/C/man3/mallopt.3:100 +#: build/C/man3/mallopt.3:102 #, no-wrap msgid "3" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:103 +#: build/C/man3/mallopt.3:105 msgid "" "Print detailed error message, stack trace, and memory mappings, and abort " "the program." msgstr "" #. type: IP -#: build/C/man3/mallopt.3:103 +#: build/C/man3/mallopt.3:105 #, no-wrap msgid "5" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:105 +#: build/C/man3/mallopt.3:107 msgid "Print a simple error message and continue execution." msgstr "" #. type: IP -#: build/C/man3/mallopt.3:105 +#: build/C/man3/mallopt.3:107 #, no-wrap msgid "7" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:108 +#: build/C/man3/mallopt.3:110 msgid "" "Print simple error message, stack trace, and memory mappings, and abort the " "program." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:114 +#: build/C/man3/mallopt.3:116 msgid "" "Since glibc 2.3.4, the default value for the B parameter is " "3. In glibc version 2.3.3 and earlier, the default value is 1." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:119 +#: build/C/man3/mallopt.3:121 msgid "" "Using a nonzero B value can be useful because otherwise a " "crash may happen much later, and the true cause of the problem is then very " @@ -2811,14 +3036,14 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:119 +#: build/C/man3/mallopt.3:121 #, no-wrap msgid "B" msgstr "" #. The following text adapted from comments in the glibc source: #. type: Plain text -#: build/C/man3/mallopt.3:129 +#: build/C/man3/mallopt.3:131 msgid "" "This parameter specifies the maximum number of allocation requests that may " "be simultaneously serviced using B(2). This parameter exists because " @@ -2827,7 +3052,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:136 +#: build/C/man3/mallopt.3:138 msgid "" "The default value is 65,536, a value which has no special significance and " "which servers only as a safeguard. Setting this parameter to 0 disables the " @@ -2835,13 +3060,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:136 +#: build/C/man3/mallopt.3:138 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:145 +#: build/C/man3/mallopt.3:147 msgid "" "For allocations greater than or equal to the limit specified (in bytes) by " "B that can't be satisfied from the free list, the " @@ -2850,7 +3075,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:165 +#: build/C/man3/mallopt.3:167 msgid "" "Allocating memory using B(2) has the significant advantage that the " "allocated memory blocks can always be independently released back to the " @@ -2864,7 +3089,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:172 +#: build/C/man3/mallopt.3:174 msgid "" "The lower limit for this parameter is 0. The upper limit is " "B: 512*1024 on 32-bit systems or " @@ -2872,28 +3097,28 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:190 +#: build/C/man3/mallopt.3:192 msgid "" "I 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 " -"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, B, B, or B " +"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, B, B, or B " "parameters is set." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:190 +#: build/C/man3/mallopt.3:192 #, no-wrap msgid "B (since glibc 2.3)" msgstr "" #. The following text adapted from comments in the glibc sources: #. type: Plain text -#: build/C/man3/mallopt.3:210 +#: build/C/man3/mallopt.3:212 msgid "" "Set the upper limit for memory allocation requests that are satisfied using " "\"fastbins\". (The measurement unit for this parameter is bytes.) Fastbins " @@ -2908,13 +3133,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:210 +#: build/C/man3/mallopt.3:212 #, no-wrap msgid "B (since glibc 2.4)" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:225 +#: build/C/man3/mallopt.3:227 msgid "" "If this parameter is set to a nonzero value, then bytes of allocated memory " "(other than allocations via B(3)) are initialized to the complement " @@ -2926,13 +3151,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:225 +#: build/C/man3/mallopt.3:227 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:232 +#: build/C/man3/mallopt.3:234 msgid "" "This parameter defines the amount of padding to employ when calling " "B(2) to modify the program break. (The measurement unit for this " @@ -2941,14 +3166,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:239 +#: build/C/man3/mallopt.3:241 msgid "" "When the program break is increased, then B bytes are added to " "the B(2) request." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:245 +#: build/C/man3/mallopt.3:247 msgid "" "When the heap is trimmed as a consequence of calling B(3) (see the " "discussion of B) this much free space is preserved at the " @@ -2956,14 +3181,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:249 +#: build/C/man3/mallopt.3:251 msgid "" "In either case, the amount of padding is always rounded to a system page " "boundary." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:256 +#: build/C/man3/mallopt.3:258 msgid "" "Modifying B is a trade-off between increasing the number of " "system calls (when the parameter is set low) and wasting unused memory at " @@ -2972,18 +3197,18 @@ msgstr "" #. DEFAULT_TOP_PAD in glibc source #. type: Plain text -#: build/C/man3/mallopt.3:259 +#: build/C/man3/mallopt.3:261 msgid "The default value for this parameter is 128*1024." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:259 +#: build/C/man3/mallopt.3:261 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:275 +#: build/C/man3/mallopt.3:277 msgid "" "When the amount of contiguous free memory at the top of the heap grows " "sufficiently large, B(3) employs B(2) to release this memory " @@ -2994,7 +3219,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:280 +#: build/C/man3/mallopt.3:282 msgid "" "The default value for this parameter is 128*1024. Setting " "B to -1 disables trimming completely." @@ -3016,7 +3241,7 @@ msgstr "" #. These macros aren't enabled in production releases until 2.15? #. (see glibc malloc/Makefile) #. type: Plain text -#: build/C/man3/mallopt.3:303 +#: build/C/man3/mallopt.3:305 msgid "" "Modifying B is a trade-off between increasing the number " "of system calls (when the parameter is set low) and wasting unused memory " @@ -3024,33 +3249,33 @@ msgid "" msgstr "" #. type: SS -#: build/C/man3/mallopt.3:303 +#: build/C/man3/mallopt.3:305 #, no-wrap -msgid "Environment Variables" +msgid "Environment variables" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:318 +#: build/C/man3/mallopt.3:320 msgid "" "A number of environment variables can be defined to modify some of the same " "parameters as are controlled by B(). 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() then the B() settings take precedence.) For " +"B(), then the B() settings take precedence.) For " "security reasons, these variables are ignored in set-user-ID and " "set-group-ID programs." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:321 +#: build/C/man3/mallopt.3:323 msgid "" "The environment variables are as follows (note the trailing underscore at " "the end of the name of each variable):" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:321 +#: build/C/man3/mallopt.3:323 #, no-wrap msgid "B" msgstr "" @@ -3058,7 +3283,7 @@ msgstr "" #. On glibc 2.12/x86, a simple malloc()+free() loop is about 70% slower #. when MALLOC_CHECK_ was set. #. type: Plain text -#: build/C/man3/mallopt.3:338 +#: build/C/man3/mallopt.3:340 msgid "" "This environment variable controls the same parameter as B() " "B. If this variable is set to a nonzero value, then a " @@ -3070,7 +3295,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:343 +#: build/C/man3/mallopt.3:345 msgid "" "The value assigned to this environment variable should be a single digit, " "whose meaning is as described for B. Any characters beyond " @@ -3078,7 +3303,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:352 +#: build/C/man3/mallopt.3:354 msgid "" "For security reasons, the effect of B is disabled by default " "for set-user-ID and set-group-ID programs. However, if the file " @@ -3088,75 +3313,75 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/mallopt.3:352 +#: build/C/man3/mallopt.3:354 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:357 +#: build/C/man3/mallopt.3:359 msgid "Controls the same parameter as B() B." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:357 +#: build/C/man3/mallopt.3:359 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:362 +#: build/C/man3/mallopt.3:364 msgid "Controls the same parameter as B() B." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:362 +#: build/C/man3/mallopt.3:364 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:367 +#: build/C/man3/mallopt.3:369 msgid "Controls the same parameter as B() B." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:367 +#: build/C/man3/mallopt.3:369 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:372 +#: build/C/man3/mallopt.3:374 msgid "Controls the same parameter as B() B." msgstr "" #. type: TP -#: build/C/man3/mallopt.3:372 +#: build/C/man3/mallopt.3:374 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:377 +#: build/C/man3/mallopt.3:379 msgid "Controls the same parameter as B() B." msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:382 +#: build/C/man3/mallopt.3:384 msgid "On success, B() returns 1. On error, it returns 0." msgstr "" #. .SH VERSIONS #. Available already in glibc 2.0, possibly earlier #. type: Plain text -#: build/C/man3/mallopt.3:390 +#: build/C/man3/mallopt.3:392 msgid "On error, I is I set." msgstr "" #. .SH NOTES #. type: Plain text -#: build/C/man3/mallopt.3:404 +#: build/C/man3/mallopt.3:406 msgid "" "This function is not specified by POSIX or the C standards. A similar " "function exists on many System V derivatives, but the range of values for " @@ -3166,31 +3391,31 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:408 +#: build/C/man3/mallopt.3:410 msgid "Specifying an invalid value for I does not generate an error." msgstr "" -#. FIXME This looks buggy: +#. FIXME . This looks buggy: #. setting the M_MXFAST limit rounds up: (s + SIZE_SZ) & ~MALLOC_ALIGN_MASK) #. malloc requests are rounded up: #. (req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK #. http://sources.redhat.com/bugzilla/show_bug.cgi?id=12129 #. type: Plain text -#: build/C/man3/mallopt.3:416 +#: build/C/man3/mallopt.3:418 msgid "" "A calculation error within the glibc implementation means that a call of the " "form:" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:419 +#: build/C/man3/mallopt.3:421 #, no-wrap msgid " mallopt(M_MXFAST, n)\n" msgstr "" #. Bins are multiples of 2 * sizeof(size_t) + sizeof(size_t) #. type: Plain text -#: build/C/man3/mallopt.3:431 +#: build/C/man3/mallopt.3:433 msgid "" "does not result in fastbins being employed for all allocations of size up to " "I. To ensure desired results, I should be rounded up to the next " @@ -3198,20 +3423,9 @@ msgid "" "integer." msgstr "" -#. FIXME MALLOC_MMAP_THRESHOLD_ and MALLOC_MMAP_MAX_ -#. do have an effect for set-user-ID programs (but not -#. set-group-ID programs). -#. http://sources.redhat.com/bugzilla/show_bug.cgi?id=12155 -#. type: Plain text -#: build/C/man3/mallopt.3:443 -msgid "" -"The B and B variables are I " -"ignored in set-group-ID programs." -msgstr "" - -#. FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12140 +#. FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12140 #. type: Plain text -#: build/C/man3/mallopt.3:464 +#: build/C/man3/mallopt.3:454 msgid "" "If B() is used to set B, then, as expected, the bytes " "of allocated memory are initialized to the complement of the byte in " @@ -3223,7 +3437,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:473 +#: build/C/man3/mallopt.3:463 msgid "" "The program below demonstrates the use of B. If the program " "is supplied with an (integer) command-line argument, then that argument is " @@ -3232,14 +3446,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:477 +#: build/C/man3/mallopt.3:467 msgid "" "The following shell session shows what happens when we run this program " "under glibc, with the default value for B:" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:497 +#: build/C/man3/mallopt.3:487 #, no-wrap msgid "" "$ B<./a.out>\n" @@ -3263,14 +3477,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:502 +#: build/C/man3/mallopt.3:492 msgid "" "The following runs show the results when employing other values for " "B:" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:515 +#: build/C/man3/mallopt.3:505 #, no-wrap msgid "" "$ B<./a.out 1> # Diagnose error and continue\n" @@ -3287,14 +3501,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:521 +#: build/C/man3/mallopt.3:511 msgid "" "The next run shows how to set the same parameter using the B " "environment variable:" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:528 +#: build/C/man3/mallopt.3:518 #, no-wrap msgid "" "$ B\n" @@ -3304,7 +3518,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:536 +#: build/C/man3/mallopt.3:526 #, no-wrap msgid "" "#include Emalloc.hE\n" @@ -3313,7 +3527,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:541 build/C/man3/mcheck.3:187 +#: build/C/man3/mallopt.3:531 build/C/man3/mcheck.3:187 #, no-wrap msgid "" "int\n" @@ -3323,7 +3537,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:548 +#: build/C/man3/mallopt.3:538 #, no-wrap msgid "" " if (argc E 1) {\n" @@ -3335,7 +3549,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:554 +#: build/C/man3/mallopt.3:544 #, no-wrap msgid "" " p = malloc(1000);\n" @@ -3346,7 +3560,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:557 +#: build/C/man3/mallopt.3:547 #, no-wrap msgid "" " free(p);\n" @@ -3354,7 +3568,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:560 +#: build/C/man3/mallopt.3:550 #, no-wrap msgid "" " free(p);\n" @@ -3362,46 +3576,46 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mallopt.3:578 +#: build/C/man3/mallopt.3:568 msgid "" -"B(2) B(2), B(3), B(3), B(3), " +"B(2), B(2), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), " "B(3), B(3)" msgstr "" #. type: TH -#: build/C/man3/mcheck.3:23 +#: build/C/man3/mcheck.3:25 #, no-wrap msgid "MCHECK" msgstr "" #. type: TH -#: build/C/man3/mcheck.3:23 build/C/man3/mtrace.3:23 +#: build/C/man3/mcheck.3:25 #, no-wrap -msgid "2012-04-18" +msgid "2014-01-11" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:26 +#: build/C/man3/mcheck.3:28 msgid "" "mcheck, mcheck_check_all, mcheck_pedantic, mprobe - heap consistency " "checking" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:29 +#: build/C/man3/mcheck.3:31 #, no-wrap msgid "B<#include Emcheck.hE>\n" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:31 +#: build/C/man3/mcheck.3:33 #, no-wrap msgid "BIB<)(enum mcheck_status >IB<));>\n" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:33 +#: build/C/man3/mcheck.3:35 #, no-wrap msgid "" "BIB<)(enum mcheck_status " @@ -3409,19 +3623,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:35 +#: build/C/man3/mcheck.3:37 #, no-wrap msgid "B\n" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:37 +#: build/C/man3/mcheck.3:39 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:50 +#: build/C/man3/mcheck.3:51 msgid "" "The B() function installs a set of debugging hooks for the " "B(3) family of memory-allocation functions. These hooks cause " @@ -3432,17 +3646,17 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:62 +#: build/C/man3/mcheck.3:63 msgid "" "To be effective, the B() function must be called before the first " "call to B(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() (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() (with a NULL argument) before the first call " +"to a memory-allocation function." msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:70 +#: build/C/man3/mcheck.3:71 msgid "" "The B() function is similar to B(), but performs " "checks on all allocated blocks whenever one of the memory-allocation " @@ -3450,15 +3664,15 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:77 +#: build/C/man3/mcheck.3:78 msgid "" "The B() function causes an immediate check on all " -"allocated blocks. This call is only effective if B() is called " +"allocated blocks. This call is effective only if B() is called " "beforehand." msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:90 +#: build/C/man3/mcheck.3:91 msgid "" "If the system detects an inconsistency in the heap, the caller-supplied " "function pointed to by I is invoked with a single argument " @@ -3468,7 +3682,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:102 +#: build/C/man3/mcheck.3:103 msgid "" "The B() function performs a consistency check on the block of " "allocated memory pointed to by I. The B() function should be " @@ -3476,85 +3690,85 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:110 +#: build/C/man3/mcheck.3:111 msgid "" "The following list describes the values returned by B() or passed " "as the I argument when I is invoked:" msgstr "" #. type: TP -#: build/C/man3/mcheck.3:110 +#: build/C/man3/mcheck.3:111 #, no-wrap msgid "B (B() only)" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:115 +#: build/C/man3/mcheck.3:116 msgid "" "B() was not called before the first memory allocation function was " "called. Consistency checking is not possible." msgstr "" #. type: TP -#: build/C/man3/mcheck.3:115 +#: build/C/man3/mcheck.3:116 #, no-wrap msgid "B (B() only)" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:118 +#: build/C/man3/mcheck.3:119 msgid "No inconsistency detected." msgstr "" #. type: TP -#: build/C/man3/mcheck.3:118 +#: build/C/man3/mcheck.3:119 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:121 +#: build/C/man3/mcheck.3:122 msgid "Memory preceding an allocated block was clobbered." msgstr "" #. type: TP -#: build/C/man3/mcheck.3:121 +#: build/C/man3/mcheck.3:122 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:124 +#: build/C/man3/mcheck.3:125 msgid "Memory following an allocated block was clobbered." msgstr "" #. type: TP -#: build/C/man3/mcheck.3:124 +#: build/C/man3/mcheck.3:125 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:128 +#: build/C/man3/mcheck.3:129 msgid "A block of memory was freed twice." msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:133 +#: build/C/man3/mcheck.3:134 msgid "B() and B() return 0 on success, or -1 on error." msgstr "" #. type: Plain text -#: build/C/man3/mcheck.3:144 +#: build/C/man3/mcheck.3:145 msgid "" "The B() and B() functions are available " -"since glibc 2.2. The B and B functions are present " +"since glibc 2.2. The B() and B() functions are present " "since at least glibc 2.0" msgstr "" #. But is MALLOC_CHECK_ slower? #. type: Plain text -#: build/C/man3/mcheck.3:158 +#: build/C/man3/mcheck.3:159 msgid "" "Linking a program with I<-lmcheck> and using the B " "environment variable (described in B(3)) cause the same kinds of " @@ -3628,39 +3842,36 @@ msgid "" " free(p);\n" msgstr "" -#. FIXME add SEE ALSO pointer from malloc(3) to here -#. FIXME add SEE ALSO pointer from mallopt(3) to here -#. FIXME add SEE ALSO pointer from mtrace(3) to here #. type: Plain text -#: build/C/man3/mcheck.3:211 +#: build/C/man3/mcheck.3:208 msgid "B(3), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man2/mlock.2:27 +#: build/C/man2/mlock.2:26 #, no-wrap msgid "MLOCK" msgstr "" #. type: TH -#: build/C/man2/mlock.2:27 +#: build/C/man2/mlock.2:26 #, no-wrap -msgid "2011-09-14" +msgid "2014-04-14" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:30 +#: build/C/man2/mlock.2:29 msgid "mlock, munlock, mlockall, munlockall - lock and unlock memory" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:33 build/C/man2/mmap.2:46 build/C/man2/mmap2.2:35 build/C/man2/mprotect.2:38 build/C/man2/mremap.2:39 +#: build/C/man2/mlock.2:32 build/C/man2/mmap.2:46 build/C/man2/mmap2.2:35 build/C/man2/mprotect.2:45 build/C/man2/mremap.2:38 #, no-wrap msgid "B<#include Esys/mman.hE>\n" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:36 +#: build/C/man2/mlock.2:35 #, no-wrap msgid "" "BIB<, size_t >IB<);>\n" @@ -3668,7 +3879,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:39 +#: build/C/man2/mlock.2:38 #, no-wrap msgid "" "BIB<);>\n" @@ -3676,7 +3887,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:55 +#: build/C/man2/mlock.2:54 msgid "" "B() and B() respectively lock part or all of the calling " "process's virtual address space into RAM, preventing that memory from being " @@ -3689,13 +3900,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/mlock.2:55 +#: build/C/man2/mlock.2:54 #, no-wrap msgid "mlock() and munlock()" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:65 +#: build/C/man2/mlock.2:64 msgid "" "B() locks pages in the address range starting at I and " "continuing for I bytes. All pages that contain a part of the specified " @@ -3704,7 +3915,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:74 +#: build/C/man2/mlock.2:73 msgid "" "B() unlocks pages in the address range starting at I and " "continuing for I bytes. After this call, all pages that contain a part " @@ -3713,13 +3924,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/mlock.2:74 +#: build/C/man2/mlock.2:73 #, no-wrap msgid "mlockall() and munlockall()" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:84 +#: build/C/man2/mlock.2:83 msgid "" "B() locks all pages mapped into the address space of the calling " "process. This includes the pages of the code, data and stack segment, as " @@ -3730,42 +3941,42 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:89 +#: build/C/man2/mlock.2:88 msgid "" "The I argument is constructed as the bitwise OR of one or more of the " "following constants:" msgstr "" #. type: TP -#: build/C/man2/mlock.2:89 +#: build/C/man2/mlock.2:88 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:93 +#: build/C/man2/mlock.2:92 msgid "" "Lock all pages which are currently mapped into the address space of the " "process." msgstr "" #. type: TP -#: build/C/man2/mlock.2:93 +#: build/C/man2/mlock.2:92 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:100 +#: build/C/man2/mlock.2:99 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:113 +#: build/C/man2/mlock.2:112 msgid "" "If B has been specified, then a later system call (e.g., " "B(2), B(2), B(3)), may fail if it would cause the number " @@ -3775,14 +3986,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:117 +#: build/C/man2/mlock.2:116 msgid "" "B() unlocks all pages mapped into the address space of the " "calling process." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:123 +#: build/C/man2/mlock.2:122 msgid "" "On success these system calls return 0. On error, -1 is returned, I " "is set appropriately, and no changes are made to any locks in the address " @@ -3790,7 +4001,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:132 +#: build/C/man2/mlock.2:131 msgid "" "(Linux 2.6.9 and later) the caller had a nonzero B soft " "resource limit, but tried to lock more memory than the limit permitted. " @@ -3806,7 +4017,7 @@ msgstr "" #. calculates that the process is trying to lock (num_physpages / 2 + 2) #. pages, which of course is not true. (MTK, Nov 04, kernel 2.4.28) #. type: Plain text -#: build/C/man2/mlock.2:144 +#: build/C/man2/mlock.2:143 msgid "" "(Linux 2.4 and earlier) the calling process tried to lock more than half of " "RAM." @@ -3814,74 +4025,74 @@ msgstr "" #. SVr4 documents an additional EAGAIN error code. #. type: Plain text -#: build/C/man2/mlock.2:150 +#: build/C/man2/mlock.2:149 msgid "" "The caller is not privileged, but needs privilege (B) to " "perform the requested operation." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:155 +#: build/C/man2/mlock.2:154 msgid "For B() and B():" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:158 +#: build/C/man2/mlock.2:157 msgid "Some or all of the specified address range could not be locked." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:165 +#: build/C/man2/mlock.2:164 msgid "" "The result of the addition I+I was less than I (e.g., the " "addition may have resulted in an overflow)." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:170 +#: build/C/man2/mlock.2:169 msgid "(Not on Linux) I was not a multiple of the page size." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:174 +#: build/C/man2/mlock.2:173 msgid "" "Some of the specified address range does not correspond to mapped pages in " "the address space of the process." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:177 +#: build/C/man2/mlock.2:176 msgid "For B():" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:180 +#: build/C/man2/mlock.2:179 msgid "Unknown I were specified." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:183 +#: build/C/man2/mlock.2:182 msgid "For B():" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:187 +#: build/C/man2/mlock.2:186 msgid "(Linux 2.6.8 and earlier) The caller was not privileged (B)." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:189 +#: build/C/man2/mlock.2:188 msgid "POSIX.1-2001, SVr4." msgstr "" #. type: SH -#: build/C/man2/mlock.2:189 build/C/man2/mmap.2:487 build/C/man2/msync.2:105 +#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:503 build/C/man2/msync.2:105 #, no-wrap msgid "AVAILABILITY" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:201 +#: build/C/man2/mlock.2:200 msgid "" "On POSIX systems on which B() and B() are available, " "B<_POSIX_MEMLOCK_RANGE> is defined in Iunistd.hE> and the number " @@ -3893,7 +4104,7 @@ msgstr "" #. -1: unavailable, 0: ask using sysconf(). #. glibc defines it to 1. #. type: Plain text -#: build/C/man2/mlock.2:214 +#: build/C/man2/mlock.2:213 msgid "" "On POSIX systems on which B() and B() are available, " "B<_POSIX_MEMLOCK> is defined in Iunistd.hE> to a value greater " @@ -3901,7 +4112,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:232 +#: build/C/man2/mlock.2:231 msgid "" "Memory locking has two main applications: real-time algorithms and " "high-security data processing. Real-time applications require deterministic " @@ -3918,7 +4129,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:245 +#: build/C/man2/mlock.2:244 msgid "" "Real-time processes that are using B() to prevent delays on page " "faults should reserve enough locked stack pages before entering the " @@ -3932,22 +4143,23 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:251 +#: build/C/man2/mlock.2:257 msgid "" "Memory locks are not inherited by a child created via B(2) and are " "automatically removed (unlocked) during an B(2) or when the process " -"terminates." +"terminates. The B() B setting is not inherited by a " +"child created via B(2) and is cleared during an B(2)." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:255 +#: 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(2)." msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:268 +#: 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() or B() will be unlocked by a single " @@ -3958,7 +4170,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:279 +#: build/C/man2/mlock.2:285 msgid "" "Under Linux, B() and B() automatically round I down " "to the nearest page boundary. However, POSIX.1-2001 allows an " @@ -3967,7 +4179,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:292 +#: build/C/man2/mlock.2:298 msgid "" "The I field of the Linux-specific I file shows how " "many kilobytes of memory the process with ID I has locked using " @@ -3975,13 +4187,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/mlock.2:292 +#: build/C/man2/mlock.2:298 #, no-wrap msgid "Limits and permissions" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:299 +#: build/C/man2/mlock.2:305 msgid "" "In Linux 2.6.8 and earlier, a process must be privileged (B) " "in order to lock memory and the B soft resource limit " @@ -3989,7 +4201,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:305 +#: 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 soft resource limit " @@ -3997,7 +4209,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:313 +#: 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() B flag to be inherited across a B(2). This " @@ -4009,7 +4221,7 @@ msgstr "" #. "Rationale for RLIMIT_MEMLOCK" #. 23 Jan 2006 #. type: Plain text -#: build/C/man2/mlock.2:330 +#: build/C/man2/mlock.2:336 msgid "" "Since kernel 2.6.9, if a privileged process calls I " "and later drops privileges (loses the B capability by, for " @@ -4019,7 +4231,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mlock.2:337 +#: build/C/man2/mlock.2:343 msgid "" "B(2), B(2), B(2), B(3), B(5), " "B(7)" @@ -4031,12 +4243,6 @@ msgstr "" msgid "MMAP" msgstr "" -#. type: TH -#: build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 -#, no-wrap -msgid "2012-04-16" -msgstr "" - #. type: Plain text #: build/C/man2/mmap.2:43 msgid "mmap, munmap - map or unmap files or devices into memory" @@ -4053,7 +4259,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:61 +#: build/C/man2/mmap.2:54 +msgid "See NOTES for information on feature test macro requirements." +msgstr "" + +#. type: Plain text +#: build/C/man2/mmap.2:63 msgid "" "B() creates a new mapping in the virtual address space of the calling " "process. The starting address for the new mapping is specified in I. " @@ -4063,7 +4274,7 @@ msgstr "" #. Before Linux 2.6.24, the address was rounded up to the next page #. boundary; since 2.6.24, it is rounded down! #. type: Plain text -#: build/C/man2/mmap.2:75 +#: build/C/man2/mmap.2:77 msgid "" "If I is NULL, then the kernel chooses the address at which to create " "the mapping; this is the most portable method of creating a new mapping. If " @@ -4074,7 +4285,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:87 +#: build/C/man2/mmap.2:89 msgid "" "The contents of a file mapping (as opposed to an anonymous mapping; see " "B below), are initialized using I bytes starting at " @@ -4084,7 +4295,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:95 +#: build/C/man2/mmap.2:97 msgid "" "The I argument describes the desired memory protection of the mapping " "(and must not conflict with the open mode of the file). It is either " @@ -4092,51 +4303,51 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:95 build/C/man2/mprotect.2:67 +#: build/C/man2/mmap.2:97 build/C/man2/mprotect.2:74 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:98 +#: build/C/man2/mmap.2:100 msgid "Pages may be executed." msgstr "" #. type: TP -#: build/C/man2/mmap.2:98 build/C/man2/mprotect.2:61 +#: build/C/man2/mmap.2:100 build/C/man2/mprotect.2:68 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:101 +#: build/C/man2/mmap.2:103 msgid "Pages may be read." msgstr "" #. type: TP -#: build/C/man2/mmap.2:101 build/C/man2/mprotect.2:64 +#: build/C/man2/mmap.2:103 build/C/man2/mprotect.2:71 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:104 +#: build/C/man2/mmap.2:106 msgid "Pages may be written." msgstr "" #. type: TP -#: build/C/man2/mmap.2:104 build/C/man2/mprotect.2:58 +#: build/C/man2/mmap.2:106 build/C/man2/mprotect.2:65 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:107 +#: build/C/man2/mmap.2:109 msgid "Pages may not be accessed." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:116 +#: build/C/man2/mmap.2:118 msgid "" "The I argument determines whether updates to the mapping are visible " "to other processes mapping the same region, and whether updates are carried " @@ -4145,13 +4356,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:116 +#: build/C/man2/mmap.2:118 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:126 +#: build/C/man2/mmap.2:128 msgid "" "Share this mapping. Updates to the mapping are visible to other processes " "that map this file, and are carried through to the underlying file. The " @@ -4160,13 +4371,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:126 +#: build/C/man2/mmap.2:128 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:135 +#: build/C/man2/mmap.2:137 msgid "" "Create a private copy-on-write mapping. Updates to the mapping are not " "visible to other processes mapping the same file, and are not carried " @@ -4175,27 +4386,27 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:137 +#: build/C/man2/mmap.2:139 msgid "Both of these flags are described in POSIX.1-2001." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:140 +#: build/C/man2/mmap.2:142 msgid "In addition, zero or more of the following values can be ORed in I:" msgstr "" #. type: TP -#: build/C/man2/mmap.2:140 +#: build/C/man2/mmap.2:142 #, no-wrap msgid "B (since Linux 2.4.20, 2.6)" msgstr "" #. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 #. type: Plain text -#: build/C/man2/mmap.2:156 +#: build/C/man2/mmap.2:158 msgid "" "Put the mapping into the first 2 Gigabytes of the process address space. " -"This flag is only supported on x86-64, for 64-bit programs. It was added to " +"This flag is supported only on x86-64, for 64-bit programs. It was added to " "allow thread stacks to be allocated somewhere in the first 2GB of memory, so " "as to improve context-switch performance on some early 64-bit processors. " "Modern x86-64 processors no longer have this performance problem, so use of " @@ -4204,42 +4415,42 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:156 +#: build/C/man2/mmap.2:158 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:161 +#: build/C/man2/mmap.2:163 msgid "Synonym for B. Deprecated." msgstr "" #. type: TP -#: build/C/man2/mmap.2:161 +#: build/C/man2/mmap.2:163 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:183 +#: build/C/man2/mmap.2:185 msgid "" "The mapping is not backed by any file; its contents are initialized to " "zero. The I and I arguments are ignored; however, some " "implementations require I to be -1 if B (or B) " "is specified, and portable applications should ensure this. The use of " -"B in conjunction with B is only supported on " -"Linux since kernel 2.4." +"B in conjunction with B is supported on Linux " +"only since kernel 2.4." msgstr "" #. type: TP -#: build/C/man2/mmap.2:183 +#: build/C/man2/mmap.2:185 #, no-wrap msgid "B" msgstr "" #. Introduced in 1.1.36, removed in 1.3.24. #. type: Plain text -#: build/C/man2/mmap.2:191 +#: build/C/man2/mmap.2:193 msgid "" "This flag is ignored. (Long ago, it signaled that attempts to write to the " "underlying file should fail with B. But this was a source of " @@ -4247,7 +4458,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:191 +#: build/C/man2/mmap.2:193 #, no-wrap msgid "B" msgstr "" @@ -4258,12 +4469,12 @@ msgstr "" #. Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of #. MAP_DENYWRITE? #. type: Plain text -#: build/C/man2/mmap.2:199 +#: build/C/man2/mmap.2:201 msgid "This flag is ignored." msgstr "" #. type: TP -#: build/C/man2/mmap.2:199 +#: build/C/man2/mmap.2:201 #, no-wrap msgid "B" msgstr "" @@ -4271,18 +4482,18 @@ msgstr "" #. On some systems, this was required as the opposite of #. MAP_ANONYMOUS -- mtk, 1 May 2007 #. type: Plain text -#: build/C/man2/mmap.2:205 +#: build/C/man2/mmap.2:207 msgid "Compatibility flag. Ignored." msgstr "" #. type: TP -#: build/C/man2/mmap.2:205 +#: build/C/man2/mmap.2:207 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:223 +#: build/C/man2/mmap.2:225 msgid "" "Don't interpret I as a hint: place the mapping at exactly that " "address. I must be a multiple of the page size. If the memory region " @@ -4294,95 +4505,95 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:223 +#: build/C/man2/mmap.2:225 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:228 +#: build/C/man2/mmap.2:230 msgid "" "Used for stacks. Indicates to the kernel virtual memory system that the " "mapping should extend downward in memory." msgstr "" #. type: TP -#: build/C/man2/mmap.2:228 +#: build/C/man2/mmap.2:230 #, no-wrap msgid "B (since Linux 2.6.32)" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:234 +#: build/C/man2/mmap.2:236 msgid "" -"Allocate the mapping using \"huge pages.\" See the kernel source file " +"Allocate the mapping using \"huge pages.\" See the Linux kernel source file " "I for further information." msgstr "" #. type: TP -#: build/C/man2/mmap.2:234 +#: build/C/man2/mmap.2:236 #, no-wrap msgid "B (since Linux 2.5.37)" msgstr "" #. If set, the mapped pages will not be swapped out. #. type: Plain text -#: build/C/man2/mmap.2:240 +#: build/C/man2/mmap.2:242 msgid "" "Lock the pages of the mapped region into memory in the manner of " "B(2). This flag is ignored in older kernels." msgstr "" #. type: TP -#: build/C/man2/mmap.2:240 +#: build/C/man2/mmap.2:242 #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:255 +#: build/C/man2/mmap.2:257 msgid "" "Only meaningful in conjunction with B. Don't perform " -"read-ahead: only create page tables entries for pages that are already " +"read-ahead: create page tables entries only for pages that are already " "present in RAM. Since Linux 2.6.23, this flag causes B to do " "nothing. One day the combination of B and B may " "be reimplemented." msgstr "" #. type: TP -#: build/C/man2/mmap.2:255 +#: build/C/man2/mmap.2:257 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:270 +#: build/C/man2/mmap.2:272 msgid "" "Do not reserve swap space for this mapping. When swap space is reserved, " "one has the guarantee that it is possible to modify the mapping. When swap " "space is not reserved one might get B upon a write if no physical " "memory is available. See also the discussion of the file " "I in B(5). In kernels before 2.6, " -"this flag only had effect for private writable mappings." +"this flag had effect only for private writable mappings." msgstr "" #. type: TP -#: build/C/man2/mmap.2:270 +#: build/C/man2/mmap.2:272 #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:277 +#: build/C/man2/mmap.2:279 msgid "" "Populate (prefault) page tables for a mapping. For a file mapping, this " "causes read-ahead on the file. Later accesses to the mapping will not be " -"blocked by page faults. B is only supported for private " -"mappings since Linux 2.6.23." +"blocked by page faults. B is supported for private mappings " +"only since Linux 2.6.23." msgstr "" #. type: TP -#: build/C/man2/mmap.2:277 +#: build/C/man2/mmap.2:279 #, no-wrap msgid "B (since Linux 2.6.27)" msgstr "" @@ -4393,7 +4604,7 @@ msgstr "" #. "pthread_create() slow for many threads; also time to revisit 64b #. context switch optimization?" #. type: Plain text -#: build/C/man2/mmap.2:290 +#: build/C/man2/mmap.2:292 msgid "" "Allocate the mapping at an address suitable for a process or thread stack. " "This flag is currently a no-op, but is used in the glibc threading " @@ -4402,16 +4613,16 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:290 +#: build/C/man2/mmap.2:292 #, no-wrap msgid "B (since Linux 2.6.33)" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:300 +#: build/C/man2/mmap.2:302 msgid "" "Don't clear anonymous pages. This flag is intended to improve performance " -"on embedded devices. This flag is only honored if the kernel was configured " +"on embedded devices. This flag is honored only if the kernel was configured " "with the B option. Because of the security " "implications, that option is normally enabled only on embedded devices " "(i.e., devices where one has complete control of the contents of user " @@ -4419,7 +4630,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:308 +#: build/C/man2/mmap.2:310 msgid "" "Of the above flags, only B is specified in POSIX.1-2001. " "However, most systems also support B (or its synonym " @@ -4427,21 +4638,21 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:315 +#: build/C/man2/mmap.2:317 msgid "" "Some systems document the additional flags B, " "B, B, and B." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:321 +#: build/C/man2/mmap.2:323 msgid "" "Memory mapped by B() is preserved across B(2), with the same " "attributes." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:329 +#: build/C/man2/mmap.2:331 msgid "" "A file is mapped in multiples of the page size. For a file that is not a " "multiple of the page size, the remaining memory is zeroed when mapped, and " @@ -4451,13 +4662,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/mmap.2:329 +#: build/C/man2/mmap.2:331 #, no-wrap msgid "munmap()" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:339 +#: build/C/man2/mmap.2:341 msgid "" "The B() system call deletes the mappings for the specified address " "range, and causes further references to addresses within the range to " @@ -4467,7 +4678,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:349 +#: build/C/man2/mmap.2:351 msgid "" "The address I must be a multiple of the page size. All pages " "containing a part of the indicated range are unmapped, and subsequent " @@ -4476,13 +4687,13 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/mmap.2:349 +#: build/C/man2/mmap.2:351 #, no-wrap msgid "Timestamps changes for file-backed mappings" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:356 +#: build/C/man2/mmap.2:358 msgid "" "For file-backed mappings, the I field for the mapped file may be " "updated at any time between the B() and the corresponding unmapping; " @@ -4491,7 +4702,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:373 +#: build/C/man2/mmap.2:375 msgid "" "The I and I field for a file mapped with B " "and B will be updated after a write to the mapped region, and " @@ -4500,7 +4711,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:390 +#: build/C/man2/mmap.2:392 msgid "" "On success, B() returns a pointer to the mapped area. On error, the " "value B (that is, I<(void\\ *)\\ -1>) is returned, and I " @@ -4509,7 +4720,7 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:391 build/C/man2/mprotect.2:80 build/C/man3/shm_open.3:185 build/C/man3/shm_open.3:190 build/C/man2/shmctl.2:295 build/C/man2/shmget.2:186 build/C/man2/shmop.2:189 +#: build/C/man2/mmap.2:393 build/C/man2/mprotect.2:85 build/C/man3/shm_open.3:187 build/C/man3/shm_open.3:192 build/C/man2/shmctl.2:306 build/C/man2/shmget.2:192 build/C/man2/shmop.2:188 #, no-wrap msgid "B" msgstr "" @@ -4517,7 +4728,7 @@ msgstr "" #. type: Plain text #: build/C/man2/mmap.2:411 msgid "" -"A file descriptor refers to a non-regular file. Or B was " +"A file descriptor refers to a non-regular file. Or a file mapping was " "requested, but I is not open for reading. Or B was " "requested and B is set, but I is not open in read/write " "(B) mode. Or B is set, but the file is append-only." @@ -4555,21 +4766,21 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mmap.2:442 build/C/man3/shm_open.3:227 build/C/man2/shmget.2:202 +#: build/C/man2/mmap.2:442 build/C/man3/shm_open.3:229 build/C/man2/shmget.2:221 build/C/man2/memfd_create.2:149 #, no-wrap msgid "B" msgstr "" #. [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() #. type: Plain text -#: build/C/man2/mmap.2:450 build/C/man2/shmget.2:206 +#: build/C/man2/mmap.2:450 build/C/man2/shmget.2:225 msgid "The system limit on the total number of open files has been reached." msgstr "" #. type: Plain text #: 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 "" @@ -4585,46 +4796,54 @@ msgstr "" #: build/C/man2/mmap.2:467 msgid "" "The I argument asks for B 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 "" + +#. type: Plain text +#: build/C/man2/mmap.2:477 +msgid "" +"B was set but the object specified by I is open for " +"writing." msgstr "" #. type: TP -#: build/C/man2/mmap.2:467 +#: build/C/man2/mmap.2:477 build/C/man2/shmctl.2:348 #, no-wrap -msgid "B" +msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:473 +#: build/C/man2/mmap.2:489 msgid "" -"B was set but the object specified by I is open for " -"writing." +"On 32-bit architecture together with the large file extension (i.e., using " +"64-bit I): the number of pages used for I plus number of " +"pages used for I would overflow I (32 bits)." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:475 +#: build/C/man2/mmap.2:491 msgid "Use of a mapped region can result in these signals:" msgstr "" #. type: TP -#: build/C/man2/mmap.2:475 +#: build/C/man2/mmap.2:491 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:478 +#: build/C/man2/mmap.2:494 msgid "Attempted write into a region mapped as read-only." msgstr "" #. type: TP -#: build/C/man2/mmap.2:478 +#: build/C/man2/mmap.2:494 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:483 +#: build/C/man2/mmap.2:499 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 " @@ -4634,7 +4853,7 @@ msgstr "" #. SVr4 documents additional error codes ENXIO and ENODEV. #. SUSv2 documents additional error codes EMFILE and EOVERFLOW. #. type: Plain text -#: build/C/man2/mmap.2:487 +#: build/C/man2/mmap.2:503 msgid "SVr4, 4.4BSD, POSIX.1-2001." msgstr "" @@ -4642,26 +4861,15 @@ msgstr "" #. -1: unavailable, 0: ask using sysconf(). #. glibc defines it to 1. #. type: Plain text -#: build/C/man2/mmap.2:501 +#: build/C/man2/mmap.2:517 msgid "" -"On POSIX systems on which B(), B(2) and B() are " +"On POSIX systems on which B(), B(2), and B() are " "available, B<_POSIX_MAPPED_FILES> is defined in Iunistd.hE> to a " "value greater than 0. (See also B(3).)" msgstr "" -#. Since around glibc 2.1/2.2, depending on the platform. -#. type: Plain text -#: build/C/man2/mmap.2:516 -msgid "" -"This page describes the interface provided by the glibc B() 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(2), and nowadays the glibc B() wrapper function invokes " -"B(2) with a suitably adjusted value for I." -msgstr "" - #. type: Plain text -#: build/C/man2/mmap.2:529 +#: build/C/man2/mmap.2:530 msgid "" "On some hardware architectures (e.g., i386), B implies " "B. It is architecture dependent whether B implies " @@ -4670,7 +4878,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:544 +#: build/C/man2/mmap.2:545 msgid "" "The portable way to create a mapping is to specify I as 0 (NULL), and " "omit B from I. In this case, the system chooses the " @@ -4681,7 +4889,37 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:549 +#: build/C/man2/mmap.2:575 +msgid "" +"Certain I 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, " +"B (and the synonym B), B, " +"B, B, B, B, " +"B, B, B, B, and " +"B." +msgstr "" + +#. type: SS +#: build/C/man2/mmap.2:575 +#, no-wrap +msgid "C library/kernel ABI differences" +msgstr "" + +#. Since around glibc 2.1/2.2, depending on the platform. +#. type: Plain text +#: build/C/man2/mmap.2:590 +msgid "" +"This page describes the interface provided by the glibc B() 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(2), and nowadays the glibc B() wrapper function invokes " +"B(2) with a suitably adjusted value for I." +msgstr "" + +#. type: Plain text +#: build/C/man2/mmap.2:595 msgid "" "On Linux there are no guarantees like those suggested above under " "B. By default, any process can be killed at any moment when " @@ -4689,14 +4927,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:556 +#: build/C/man2/mmap.2:602 msgid "" -"In kernels before 2.6.7, the B flag only has effect if I " +"In kernels before 2.6.7, the B flag has effect only if I " "is specified as B." msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:571 +#: build/C/man2/mmap.2:617 msgid "" "SUSv3 specifies that B() should fail if I is 0. However, in " "kernels before 2.6.12, B() succeeded in this case: no mapping was " @@ -4705,7 +4943,21 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:583 +#: build/C/man2/mmap.2:633 +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 " +"the object beyond its end. On Linux, when you write data to such partial " +"page after the end of the object, the data stays in the page cache even " +"after the file is closed and unmapped and even though the data is never " +"written to the file itself, subsequent mappings may see the modified " +"content. In some cases, this could be fixed by calling B(2) before " +"the unmap takes place; however, this doesn't work on tmpfs (for example, " +"when using POSIX shared memory interface documented in B(7))." +msgstr "" + +#. type: Plain text +#: build/C/man2/mmap.2:645 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 " @@ -4716,7 +4968,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:591 +#: build/C/man2/mmap.2:653 #, no-wrap msgid "" "#include Esys/mman.hE\n" @@ -4728,7 +4980,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:594 build/C/man2/mprotect.2:172 +#: build/C/man2/mmap.2:656 build/C/man2/mprotect.2:177 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" @@ -4736,7 +4988,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:604 +#: build/C/man2/mmap.2:666 #, no-wrap msgid "" "int\n" @@ -4751,7 +5003,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:609 +#: build/C/man2/mmap.2:671 #, no-wrap msgid "" " if (argc E 3 || argc E 4) {\n" @@ -4761,7 +5013,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:613 +#: build/C/man2/mmap.2:675 #, no-wrap msgid "" " fd = open(argv[1], O_RDONLY);\n" @@ -4770,7 +5022,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:616 +#: build/C/man2/mmap.2:678 #, no-wrap msgid "" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" @@ -4778,7 +5030,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:620 +#: build/C/man2/mmap.2:682 #, no-wrap msgid "" " offset = atoi(argv[2]);\n" @@ -4787,7 +5039,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:625 +#: build/C/man2/mmap.2:687 #, no-wrap msgid "" " if (offset E= sb.st_size) {\n" @@ -4797,7 +5049,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:631 +#: build/C/man2/mmap.2:693 #, no-wrap msgid "" " if (argc == 4) {\n" @@ -4808,7 +5060,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:635 +#: build/C/man2/mmap.2:697 #, no-wrap msgid "" " } else { /* No length arg ==E display to end of file */\n" @@ -4817,7 +5069,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:640 +#: build/C/man2/mmap.2:702 #, no-wrap msgid "" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" @@ -4827,7 +5079,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:645 +#: build/C/man2/mmap.2:707 #, no-wrap msgid "" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" @@ -4837,7 +5089,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:649 +#: build/C/man2/mmap.2:711 #, no-wrap msgid "" " fprintf(stderr, \"partial write\");\n" @@ -4846,15 +5098,23 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:666 +#: build/C/man2/mmap.2:729 msgid "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), B(2), " -"B(2), B(3), B(7)" +"B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), B(3), " +"B(7)" msgstr "" #. type: Plain text -#: build/C/man2/mmap.2:671 build/C/man2/msync.2:122 +#: build/C/man2/mmap.2:736 +msgid "" +"The descriptions of the following files in B(5): I, " +"I, and I." +msgstr "" + +#. type: Plain text +#: build/C/man2/mmap.2:741 build/C/man2/msync.2:151 msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391." msgstr "" @@ -4864,6 +5124,12 @@ msgstr "" msgid "MMAP2" msgstr "" +#. type: TH +#: build/C/man2/mmap2.2:29 +#, no-wrap +msgid "2014-02-25" +msgstr "" + #. type: Plain text #: build/C/man2/mmap2.2:32 msgid "mmap2 - map files or devices into memory" @@ -4880,8 +5146,8 @@ msgstr "" #. type: Plain text #: build/C/man2/mmap2.2:43 msgid "" -"This is probably not the system call you are interested; instead, see " -"B(2), which describes the glibc wrapper function that invokes this " +"This is probably not the system call that you are interested in; instead, " +"see B(2), which describes the glibc wrapper function that invokes this " "system call." msgstr "" @@ -4898,20 +5164,20 @@ msgstr "" #. type: Plain text #: build/C/man2/mmap2.2:61 msgid "" -"On success, B() returns a pointer to the mapped area. On error -1 " +"On success, B() returns a pointer to the mapped area. On error, -1 " "is returned and I is set appropriately." msgstr "" #. type: Plain text #: build/C/man2/mmap2.2:65 -msgid "Problem with getting the data from userspace." +msgid "Problem with getting the data from user space." msgstr "" #. type: Plain text #: build/C/man2/mmap2.2:70 msgid "" -"(Various platforms where the page size is not 4096 bytes.) I " -"is not a multiple of the system page size." +"(Various platforms where the page size is not 4096 bytes.) I is not a multiple of the system page size." msgstr "" #. type: Plain text @@ -4925,57 +5191,63 @@ msgid "B() is available since Linux 2.3.31." msgstr "" #. type: Plain text -#: build/C/man2/mmap2.2:79 build/C/man2/subpage_prot.2:93 +#: build/C/man2/mmap2.2:79 build/C/man2/subpage_prot.2:98 msgid "This system call is Linux-specific." msgstr "" #. type: Plain text -#: build/C/man2/mmap2.2:85 +#: build/C/man2/mmap2.2:86 msgid "" -"Nowadays, the glibc B() wrapper function invokes this system call " -"rather than the B(2) system call." +"On architectures where this system call is present, the glibc B() " +"wrapper function invokes this system call rather than the B(2) system " +"call." +msgstr "" + +#. type: Plain text +#: build/C/man2/mmap2.2:88 +msgid "This system call does not exist on x86-64." msgstr "" #. 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 is actually the system page size, rather " "than 4096 bytes." msgstr "" #. type: Plain text -#: build/C/man2/mmap2.2:98 +#: build/C/man2/mmap2.2:101 msgid "B(2), B(2), B(2), B(2), B(3)" msgstr "" #. type: TH -#: build/C/man2/mprotect.2:32 +#: build/C/man2/mprotect.2:39 #, no-wrap msgid "MPROTECT" msgstr "" #. type: TH -#: build/C/man2/mprotect.2:32 +#: build/C/man2/mprotect.2:39 #, no-wrap -msgid "2011-09-08" +msgid "2014-01-05" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:35 +#: build/C/man2/mprotect.2:42 msgid "mprotect - set protection on a region of memory" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:40 +#: build/C/man2/mprotect.2:47 #, no-wrap -msgid "BIB<, size_t >IB<, int >IB<);>\n" +msgid "BIB<, size_t >IB<, int >IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:48 +#: build/C/man2/mprotect.2:55 msgid "" "B() changes protection for the calling process's memory page(s) " "containing any part of the address range in the interval [I,\\ " @@ -4983,50 +5255,48 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:53 +#: build/C/man2/mprotect.2:60 msgid "" "If the calling process tries to access memory in a manner that violates the " "protection, then the kernel generates a B signal for the process." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:58 +#: build/C/man2/mprotect.2:65 msgid "" "I is either B or a bitwise-or of the other values in the " "following list:" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:61 +#: build/C/man2/mprotect.2:68 msgid "The memory cannot be accessed at all." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:64 +#: build/C/man2/mprotect.2:71 msgid "The memory can be read." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:67 +#: build/C/man2/mprotect.2:74 msgid "The memory can be modified." msgstr "" -#. FIXME -#. Document PROT_GROWSUP and PROT_GROWSDOWN #. type: Plain text -#: build/C/man2/mprotect.2:72 +#: build/C/man2/mprotect.2:77 msgid "The memory can be executed." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:79 +#: build/C/man2/mprotect.2:84 msgid "" "On success, B() returns zero. On error, -1 is returned, and " "I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:89 +#: build/C/man2/mprotect.2:94 msgid "" "The memory cannot be given the specified access. This can happen, for " "example, if you B(2) a file to which you have read-only access, then " @@ -5035,17 +5305,17 @@ msgstr "" #. Or: both PROT_GROWSUP and PROT_GROWSDOWN were specified in 'prot'. #. type: Plain text -#: build/C/man2/mprotect.2:94 +#: build/C/man2/mprotect.2:99 msgid "I is not a valid pointer, or not a multiple of the system page size." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:97 +#: build/C/man2/mprotect.2:102 msgid "Internal kernel structures could not be allocated." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:107 +#: build/C/man2/mprotect.2:112 msgid "" "Addresses in the range [I, I+I-1] are invalid for the " "address space of the process, or specify one or more pages that are not " @@ -5056,7 +5326,7 @@ msgstr "" #. SVr4 defines an additional error #. code EAGAIN. The SVr4 error conditions don't map neatly onto Linux's. #. type: Plain text -#: build/C/man2/mprotect.2:116 +#: build/C/man2/mprotect.2:121 msgid "" "SVr4, POSIX.1-2001. POSIX says that the behavior of B() is " "unspecified if it is applied to a region of memory that was not obtained via " @@ -5064,7 +5334,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:123 +#: build/C/man2/mprotect.2:128 msgid "" "On Linux it is always permissible to call B() on any address in a " "process's address space (except for the kernel vsyscall area). In " @@ -5072,7 +5342,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:133 +#: build/C/man2/mprotect.2:138 msgid "" "Whether B has any effect different from B is " "architecture- and kernel version-dependent. On some hardware architectures " @@ -5080,16 +5350,16 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:142 +#: build/C/man2/mprotect.2:147 msgid "" "POSIX.1-2001 says that an implementation may permit access other than that " -"specified in I, but at a minimum can only allow write access if " +"specified in I, but at a minimum can allow write access only if " "B has been set, and must not allow any access if B " "has been set." msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:148 +#: build/C/man2/mprotect.2:153 msgid "" "The program below allocates four pages of memory, makes the third of these " "pages read-only, and then executes a loop that walks upward through the " @@ -5097,12 +5367,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:151 +#: build/C/man2/mprotect.2:156 msgid "An example of what we might see when running the program is the following:" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:157 +#: build/C/man2/mprotect.2:162 #, no-wrap msgid "" "$B< ./a.out>\n" @@ -5111,7 +5381,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:169 +#: build/C/man2/mprotect.2:174 #, no-wrap msgid "" "#include Eunistd.hE\n" @@ -5124,13 +5394,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:174 +#: build/C/man2/mprotect.2:179 #, no-wrap -msgid "char *buffer;\n" +msgid "static char *buffer;\n" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:182 +#: build/C/man2/mprotect.2:187 #, no-wrap msgid "" "static void\n" @@ -5143,7 +5413,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:189 +#: build/C/man2/mprotect.2:194 #, no-wrap msgid "" "int\n" @@ -5155,7 +5425,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:195 +#: build/C/man2/mprotect.2:200 #, no-wrap msgid "" " sa.sa_flags = SA_SIGINFO;\n" @@ -5166,7 +5436,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:199 +#: build/C/man2/mprotect.2:204 #, no-wrap msgid "" " pagesize = sysconf(_SC_PAGE_SIZE);\n" @@ -5175,7 +5445,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:202 +#: build/C/man2/mprotect.2:207 #, no-wrap msgid "" " /* Allocate a buffer aligned on a page boundary;\n" @@ -5183,7 +5453,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:206 +#: build/C/man2/mprotect.2:211 #, no-wrap msgid "" " buffer = memalign(pagesize, 4 * pagesize);\n" @@ -5192,13 +5462,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:208 +#: build/C/man2/mprotect.2:213 #, no-wrap msgid " printf(\"Start of region: 0x%lx\\en\", (long) buffer);\n" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:212 +#: build/C/man2/mprotect.2:217 #, no-wrap msgid "" " if (mprotect(buffer + pagesize * 2, pagesize,\n" @@ -5207,7 +5477,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:215 +#: build/C/man2/mprotect.2:220 #, no-wrap msgid "" " for (p = buffer ; ; )\n" @@ -5215,7 +5485,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:219 +#: build/C/man2/mprotect.2:224 #, no-wrap msgid "" " printf(\"Loop completed\\en\"); /* Should never happen */\n" @@ -5224,35 +5494,35 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mprotect.2:223 +#: build/C/man2/mprotect.2:228 msgid "B(2), B(3)" msgstr "" #. type: TH -#: build/C/man2/mremap.2:31 +#: build/C/man2/mremap.2:30 #, no-wrap msgid "MREMAP" msgstr "" #. type: TH -#: build/C/man2/mremap.2:31 +#: build/C/man2/mremap.2:30 #, no-wrap msgid "2010-06-10" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:34 +#: build/C/man2/mremap.2:33 msgid "mremap - remap a virtual memory address" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:37 +#: build/C/man2/mremap.2:36 #, no-wrap msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:42 +#: build/C/man2/mremap.2:41 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -5261,7 +5531,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:48 +#: build/C/man2/mremap.2:47 msgid "" "B() expands (or shrinks) an existing memory mapping, potentially " "moving it at the same time (controlled by the I argument and the " @@ -5269,7 +5539,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:62 +#: build/C/man2/mremap.2:61 msgid "" "I is the old address of the virtual memory block that you want " "to expand (or shrink). Note that I has to be page aligned. " @@ -5280,7 +5550,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:74 +#: build/C/man2/mremap.2:73 msgid "" "In Linux the memory is divided into pages. A user process has (one or) " "several linear virtual memory segments. Each virtual memory segment has one " @@ -5292,7 +5562,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:82 +#: build/C/man2/mremap.2:81 msgid "" "B() uses the Linux page table scheme. B() changes the " "mapping between virtual addresses and memory pages. This can be used to " @@ -5300,18 +5570,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:84 +#: build/C/man2/mremap.2:83 msgid "The I bit-mask argument may be 0, or include the following flag:" msgstr "" #. type: TP -#: build/C/man2/mremap.2:84 +#: build/C/man2/mremap.2:83 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:96 +#: build/C/man2/mremap.2:95 msgid "" "By default, if there is not sufficient space to expand a mapping at its " "current location, then B() fails. If this flag is specified, then " @@ -5322,24 +5592,24 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/mremap.2:96 +#: build/C/man2/mremap.2:95 #, no-wrap msgid "B (since Linux 2.3.31)" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:118 +#: build/C/man2/mremap.2:117 msgid "" "This flag serves a similar purpose to the B flag of B(2). " "If this flag is specified, then B() accepts a fifth argument, " -"I, which specifies a page-aligned address to which the " +"I, which specifies a page-aligned address to which the " "mapping must be moved. Any previous mapping at the address range specified " "by I and I is unmapped. If B is " "specified, then B must also be specified." msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:128 +#: build/C/man2/mremap.2:127 msgid "" "If the memory segment specified by I and I is locked " "(using B(2) or similar), then this lock is maintained when the " @@ -5348,7 +5618,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:136 +#: build/C/man2/mremap.2:135 msgid "" "On success B() returns a pointer to the new virtual memory area. " "On error, the value B (that is, I<(void\\ *)\\ -1>) is returned, " @@ -5356,14 +5626,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:143 +#: build/C/man2/mremap.2:142 msgid "" "The caller tried to expand a memory segment that is locked, but this was not " "possible without exceeding the B resource limit." msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:152 +#: build/C/man2/mremap.2:151 msgid "" "\"Segmentation fault.\" Some address in the range I to " "I+I is an invalid virtual memory address for this " @@ -5373,7 +5643,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:180 +#: build/C/man2/mremap.2:179 msgid "" "An invalid argument was given. Possible causes are: I was not " "page aligned; a value other than B or B was " @@ -5385,7 +5655,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:186 +#: build/C/man2/mremap.2:185 msgid "" "The memory area cannot be expanded at the current virtual address, and the " "B flag is not set in I. Or, there is not enough " @@ -5396,14 +5666,14 @@ msgstr "" #. .BR mremap (2) #. call with completely different semantics. #. type: Plain text -#: build/C/man2/mremap.2:192 +#: build/C/man2/mremap.2:191 msgid "" "This call is Linux-specific, and should not be used in programs intended to " "be portable." msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:200 +#: build/C/man2/mremap.2:199 msgid "" "Prior to version 2.4, glibc did not expose the definition of " "B, and the prototype for B() did not allow for the " @@ -5411,7 +5681,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/mremap.2:209 +#: build/C/man2/mremap.2:208 msgid "" "B(2), B(2), B(2), B(2), B(2), " "B(2), B(3), B(3)" @@ -5420,9 +5690,10 @@ msgstr "" #. type: Plain text #: build/C/man2/mremap.2:214 msgid "" -"Your favorite OS text book for more information on paged memory. (I by Andrew S. Tanenbaum, I by Randolf " -"Bentson, I by Maurice J. Bach.)" +"Your favorite text book on operating systems for more information on paged " +"memory (e.g., I by Andrew S. Tanenbaum, I by Randolf Bentson, I by " +"Maurice J. Bach)" msgstr "" #. type: TH @@ -5432,9 +5703,9 @@ msgid "MSYNC" msgstr "" #. type: TH -#: build/C/man2/msync.2:25 build/C/man2/remap_file_pages.2:26 +#: build/C/man2/msync.2:25 #, no-wrap -msgid "2008-04-22" +msgid "2014-04-20" msgstr "" #. type: Plain text @@ -5451,10 +5722,11 @@ msgstr "" #: build/C/man2/msync.2:48 msgid "" "B() flushes changes made to the in-core copy of a file that was " -"mapped into memory using B(2) back to disk. Without use of this call " -"there is no guarantee that changes are written back before B(2) is " -"called. To be more precise, the part of the file that corresponds to the " -"memory area starting at I and having length I is updated." +"mapped into memory using B(2) back to the filesystem. Without use of " +"this call there is no guarantee that changes are written back before " +"B(2) is called. To be more precise, the part of the file that " +"corresponds to the memory area starting at I and having length " +"I is updated." msgstr "" #. type: Plain text @@ -5502,7 +5774,7 @@ msgid "The indicated memory (or part of it) was not mapped." msgstr "" #. type: Plain text -#: build/C/man2/msync.2:98 build/C/man3/posix_fallocate.3:103 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:103 +#: build/C/man2/msync.2:98 build/C/man3/posix_fallocate.3:110 build/C/man3/shm_open.3:253 build/C/man7/shm_overview.7:103 msgid "POSIX.1-2001." msgstr "" @@ -5510,54 +5782,75 @@ msgstr "" #: build/C/man2/msync.2:105 msgid "" "This call was introduced in Linux 1.3.21, and then used B instead of " -"B. In Linux 2.4.19 this was changed to the POSIX value B." +"B. In Linux 2.4.19, this was changed to the POSIX value B." msgstr "" #. POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. #. -1: unavailable, 0: ask using sysconf(). #. glibc defines them to 1. #. type: Plain text -#: build/C/man2/msync.2:118 +#: build/C/man2/msync.2:120 msgid "" "On POSIX systems on which B() is available, both " "B<_POSIX_MAPPED_FILES> and B<_POSIX_SYNCHRONIZED_IO> are defined in " "Iunistd.hE> to a value greater than 0. (See also B(3).)" msgstr "" +#. commit 204ec841fbea3e5138168edbc3a76d46747cc987 +#. type: Plain text +#: build/C/man2/msync.2:147 +msgid "" +"According to POSIX, either B or B must be specified in " +"I, and indeed failure to include one of these flags will cause " +"B() to fail on some systems. However, Linux permits a call to " +"B() that specifies neither of these flags, with semantics that are " +"(currently) equivalent to specifying B. (Since Linux 2.6.19, " +"B 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 or B in I." +msgstr "" + #. type: TP -#: build/C/man2/msync.2:120 build/C/man7/shm_overview.7:46 +#: build/C/man2/msync.2:149 build/C/man7/shm_overview.7:46 #, no-wrap msgid "B(2)" msgstr "" #. type: TH -#: build/C/man3/mtrace.3:23 +#: build/C/man3/mtrace.3:25 #, no-wrap msgid "MTRACE" msgstr "" +#. type: TH +#: build/C/man3/mtrace.3:25 +#, no-wrap +msgid "2012-04-18" +msgstr "" + #. type: Plain text -#: build/C/man3/mtrace.3:26 +#: build/C/man3/mtrace.3:28 msgid "mtrace, muntrace - malloc tracing" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:28 +#: build/C/man3/mtrace.3:30 msgid "B<#include Emcheck.hE>" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:30 +#: build/C/man3/mtrace.3:32 msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:32 +#: build/C/man3/mtrace.3:34 msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:44 +#: build/C/man3/mtrace.3:46 msgid "" "The B() function installs hook functions for the memory-allocation " "functions (B(3), B(3) B(3), B(3)). These " @@ -5567,7 +5860,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:55 +#: build/C/man3/mtrace.3:57 msgid "" "The B() function disables the hook functions installed by " "B(), so that tracing information is no longer recorded for the " @@ -5576,16 +5869,16 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:63 +#: build/C/man3/mtrace.3:65 msgid "" -"When B(3) is called, it checks the value of the environment " -"variable B, which should contain the pathname of a file in " -"which the tracing information is to be recorded. If the pathname is " -"successfully opened, it is truncated to zero length." +"When B() is called, it checks the value of the environment variable " +"B, which should contain the pathname of a file in which the " +"tracing information is to be recorded. If the pathname is successfully " +"opened, it is truncated to zero length." msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:76 +#: build/C/man3/mtrace.3:78 msgid "" "If B is not set, or the pathname it specifies is invalid or " "not writable, then no hook functions are installed, and B() has no " @@ -5594,14 +5887,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:84 +#: build/C/man3/mtrace.3:86 msgid "" "In normal usage, B() is called once at the start of execution of a " "program, and B() is never called." msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:94 +#: build/C/man3/mtrace.3:96 msgid "" "The tracing output produced after a call to B() is textual, but not " "designed to be human readable. The GNU C library provides a Perl script, " @@ -5612,22 +5905,22 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:100 +#: build/C/man3/mtrace.3:102 msgid "" "The tracing performed by B() incurs a performance penalty (if " "B points to a valid, writable pathname)." msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:106 +#: build/C/man3/mtrace.3:108 msgid "" "The line-number information produced by B(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 -#: build/C/man3/mtrace.3:113 +#: build/C/man3/mtrace.3:115 msgid "" "The shell session below demonstrates the use of the B() function " "and the B(1) command in a program that has memory leaks at two " @@ -5635,7 +5928,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:120 +#: build/C/man3/mtrace.3:122 #, no-wrap msgid "" "$ B\n" @@ -5645,7 +5938,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:125 +#: build/C/man3/mtrace.3:127 #, no-wrap msgid "" "int\n" @@ -5655,13 +5948,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:127 +#: build/C/man3/mtrace.3:129 #, no-wrap msgid " mtrace();\n" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:130 +#: build/C/man3/mtrace.3:132 #, no-wrap msgid "" " for (j = 0; j E 2; j++)\n" @@ -5669,7 +5962,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:134 +#: build/C/man3/mtrace.3:136 #, no-wrap msgid "" " calloc(16, 16); /* Never freed--a memory leak */\n" @@ -5678,14 +5971,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:140 +#: build/C/man3/mtrace.3:142 msgid "" "When we run the program as follows, we see that B() diagnosed " "memory leaks at two different locations in the program:" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:153 +#: build/C/man3/mtrace.3:155 #, no-wrap msgid "" "$ B\n" @@ -5701,7 +5994,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:165 +#: build/C/man3/mtrace.3:167 msgid "" "The first two messages about unfreed memory correspond to the two " "B(3) calls inside the I loop. The final message corresponds " @@ -5709,35 +6002,29 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/mtrace.3:170 +#: build/C/man3/mtrace.3:172 msgid "B(1), B(3), B(3), B(3)" msgstr "" #. type: TH -#: build/C/man2/posix_fadvise.2:27 +#: build/C/man2/posix_fadvise.2:28 #, no-wrap msgid "POSIX_FADVISE" msgstr "" -#. type: TH -#: build/C/man2/posix_fadvise.2:27 build/C/man2/sync_file_range.2:30 -#, no-wrap -msgid "2010-10-09" -msgstr "" - #. type: Plain text -#: build/C/man2/posix_fadvise.2:30 +#: build/C/man2/posix_fadvise.2:31 msgid "posix_fadvise - predeclare an access pattern for file data" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:33 build/C/man3/posix_fallocate.3:29 +#: build/C/man2/posix_fadvise.2:34 build/C/man3/posix_fallocate.3:31 #, no-wrap msgid "B<#include Efcntl.hE>\n" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:36 +#: build/C/man2/posix_fadvise.2:37 #, no-wrap msgid "" "BIB<, off_t >IB<, off_t >IB<, int " @@ -5745,17 +6032,17 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:45 +#: build/C/man2/posix_fadvise.2:46 msgid "B():" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:47 build/C/man3/posix_fallocate.3:42 +#: build/C/man2/posix_fadvise.2:48 build/C/man3/posix_fallocate.3:44 msgid "_XOPEN_SOURCE\\ E=\\ 600 || _POSIX_C_SOURCE\\ E=\\ 200112L" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:55 +#: build/C/man2/posix_fadvise.2:56 msgid "" "Programs can use B() to announce an intention to access file " "data in a specific pattern in the future, thus allowing the kernel to " @@ -5763,7 +6050,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:62 +#: build/C/man2/posix_fadvise.2:63 msgid "" "The I applies to a (not necessarily existent) region starting at " "I and extending for I bytes (or until the end of the file if " @@ -5772,18 +6059,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:64 +#: build/C/man2/posix_fadvise.2:65 msgid "Permissible values for I include:" msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:64 +#: build/C/man2/posix_fadvise.2:65 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:70 +#: build/C/man2/posix_fadvise.2:71 msgid "" "Indicates that the application has no advice to give about its access " "pattern for the specified data. If no advice is given for an open file, " @@ -5791,102 +6078,113 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:70 +#: build/C/man2/posix_fadvise.2:71 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:74 +#: build/C/man2/posix_fadvise.2:75 msgid "" "The application expects to access the specified data sequentially (with " "lower offsets read before higher ones)." msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:74 +#: build/C/man2/posix_fadvise.2:75 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:77 +#: build/C/man2/posix_fadvise.2:78 msgid "The specified data will be accessed in random order." msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:77 +#: build/C/man2/posix_fadvise.2:78 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:80 +#: build/C/man2/posix_fadvise.2:81 msgid "The specified data will be accessed only once." msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:80 +#: build/C/man2/posix_fadvise.2:81 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:83 +#: build/C/man2/posix_fadvise.2:84 msgid "The specified data will be accessed in the near future." msgstr "" #. type: TP -#: build/C/man2/posix_fadvise.2:83 +#: build/C/man2/posix_fadvise.2:84 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:86 +#: build/C/man2/posix_fadvise.2:87 msgid "The specified data will not be accessed in the near future." msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:89 +#: build/C/man2/posix_fadvise.2:90 msgid "On success, zero is returned. On error, an error number is returned." msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:93 +#: build/C/man2/posix_fadvise.2:94 msgid "The I argument was not a valid file descriptor." msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:96 +#: build/C/man2/posix_fadvise.2:97 msgid "An invalid value was specified for I." msgstr "" +#. commit 87ba81dba431232548ce29d5d224115d0c2355ac #. type: Plain text -#: build/C/man2/posix_fadvise.2:103 +#: build/C/man2/posix_fadvise.2:107 msgid "" -"The specified file descriptor refers to a pipe or FIFO. (Linux actually " -"returns B in this case.)" +"The specified file descriptor refers to a pipe or FIFO. (B is the " +"error specified by POSIX, but before kernel version 2.16, Linux returned " +"B in this case.)" msgstr "" #. of fadvise64_64() #. type: Plain text -#: build/C/man2/posix_fadvise.2:111 +#: build/C/man2/posix_fadvise.2:115 msgid "" "Kernel support first appeared in Linux 2.5.60; the underlying system call is " "called B(). Library support has been provided since glibc " "version 2.2, via the wrapper function B()." msgstr "" +#. commit d3ac21cacc24790eb45d735769f35753f5b56ceb +#. type: Plain text +#: build/C/man2/posix_fadvise.2:122 +msgid "" +"Since Linux 3.18, support for the underlying system call is optional, " +"depending on the setting of the B configuration " +"option." +msgstr "" + #. type: Plain text -#: build/C/man2/posix_fadvise.2:120 +#: build/C/man2/posix_fadvise.2:131 msgid "" "POSIX.1-2001. Note that the type of the I argument was changed from " "I to I in POSIX.1-2003 TC1." msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:126 +#: build/C/man2/posix_fadvise.2:137 msgid "" "Under Linux, B sets the readahead window to the default " "size for the backing device; B doubles this size, and " @@ -5896,7 +6194,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:133 +#: build/C/man2/posix_fadvise.2:144 msgid "" "B initiates a nonblocking read of the specified region " "into the page cache. The amount of data read may be decreased by the kernel " @@ -5905,7 +6203,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:137 +#: build/C/man2/posix_fadvise.2:148 msgid "" "In kernels before 2.6.18, B had the same semantics as " "B. This was probably a bug; since kernel 2.6.18, this " @@ -5913,7 +6211,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:145 +#: build/C/man2/posix_fadvise.2:156 msgid "" "B attempts to free cached pages associated with the " "specified region. This is useful, for example, while streaming large " @@ -5923,7 +6221,16 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:153 +#: build/C/man2/posix_fadvise.2:164 +msgid "" +"Requests to discard partial pages are ignored. It is preferable to preserve " +"needed data than discard unneeded data. If the application requires that " +"data be considered for discarding then I and I must be " +"page-aligned." +msgstr "" + +#. type: Plain text +#: build/C/man2/posix_fadvise.2:172 msgid "" "Pages that have not yet been written out will be unaffected, so if the " "application wishes to guarantee that pages will be released, it should call " @@ -5931,41 +6238,46 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/posix_fadvise.2:153 +#: build/C/man2/posix_fadvise.2:172 #, no-wrap -msgid "arm_fadvise()" +msgid "Architecture-specific variants" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:165 +#: build/C/man2/posix_fadvise.2:189 msgid "" -"The ARM architecture needs 64-bit arguments to be aligned in a suitable pair " -"of registers. On this architecture, the call signature of " -"B() is flawed, since it forces a register to be wasted as " -"padding between the I and I arguments. Therefore, since Linux " -"2.6.14, ARM defines a different system call that orders the arguments " -"suitably:" +"Some architectures require 64-bit arguments to be aligned in a suitable pair " +"of registers (see B(2) for further detail). On such " +"architectures, the call signature of B() shown in the " +"SYNOPSIS would force a register to be wasted as padding between the I " +"and I 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()." +msgstr "" + +#. type: Plain text +#: build/C/man2/posix_fadvise.2:191 +msgid "For example, since Linux 2.6.14, ARM has the following system call:" msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:170 +#: build/C/man2/posix_fadvise.2:196 #, no-wrap msgid "" "BIB<, int >IB<,>\n" "B< loff_t >IB<, loff_t >IB<);>\n" msgstr "" -#. No ARM support in glibc. #. type: Plain text -#: build/C/man2/posix_fadvise.2:177 +#: build/C/man2/posix_fadvise.2:204 msgid "" -"The behavior of this system call is otherwise exactly the same as " -"B(). No library support is provided for this system call in " -"glibc." +"These architecture-specific details are generally hidden from applications " +"by the glibc B() wrapper function, which invokes the " +"appropriate architecture-specific system call." msgstr "" #. type: Plain text -#: build/C/man2/posix_fadvise.2:182 +#: build/C/man2/posix_fadvise.2:209 msgid "" "In kernels before 2.6.6, if I was specified as 0, then this was " "interpreted literally as \"zero bytes\", rather than as meaning \"all bytes " @@ -5974,42 +6286,36 @@ msgstr "" #. FIXME . Write a posix_fadvise(3) page. #. type: Plain text -#: build/C/man2/posix_fadvise.2:188 +#: build/C/man2/posix_fadvise.2:215 msgid "" "B(2), B(2), B(3), " "B(3)" msgstr "" #. type: TH -#: build/C/man3/posix_fallocate.3:23 +#: build/C/man3/posix_fallocate.3:25 #, no-wrap msgid "POSIX_FALLOCATE" msgstr "" -#. type: TH -#: build/C/man3/posix_fallocate.3:23 -#, no-wrap -msgid "2010-09-20" -msgstr "" - #. type: Plain text -#: build/C/man3/posix_fallocate.3:26 +#: build/C/man3/posix_fallocate.3:28 msgid "posix_fallocate - allocate file space" msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:31 +#: build/C/man3/posix_fallocate.3:33 #, no-wrap msgid "BIB<, off_t >IB<, off_t >IB<);>\n" msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:40 +#: build/C/man3/posix_fallocate.3:42 msgid "B():" msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:59 +#: build/C/man3/posix_fallocate.3:61 msgid "" "The function B() ensures that disk space is allocated for " "the file referred to by the descriptor I for the bytes in the range " @@ -6019,41 +6325,46 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:64 +#: build/C/man3/posix_fallocate.3:66 msgid "" "If the size of the file is less than I+I, then the file is " "increased to this size; otherwise the file size is left unchanged." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:70 +#: build/C/man3/posix_fallocate.3:72 msgid "" "B() returns zero on success, or an error number on " "failure. Note that I is not set." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:79 +#: build/C/man3/posix_fallocate.3:81 msgid "I exceeds the maximum file size." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:89 +#: build/C/man3/posix_fallocate.3:91 msgid "I does not refer to a regular file." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:98 +#: build/C/man3/posix_fallocate.3:100 msgid "I refers to a pipe." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:101 +#: build/C/man3/posix_fallocate.3:103 msgid "B() is available since glibc 2.1.94." msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:126 +#: build/C/man3/posix_fallocate.3:108 +msgid "The B() function is thread-safe." +msgstr "" + +#. type: Plain text +#: build/C/man3/posix_fallocate.3:133 msgid "" "POSIX.1-2008 says that an implementation I give the B error " "if I was 0, or I was less than 0. POSIX.1-2001 says that an " @@ -6063,31 +6374,44 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_fallocate.3:130 -msgid "B(2), B(2), B(2)" +#: build/C/man3/posix_fallocate.3:138 +msgid "" +"In the glibc implementation, B() is implemented using " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man3/posix_fallocate.3:143 +msgid "B(1), B(2), B(2), B(2)" msgstr "" #. type: TH -#: build/C/man3/posix_memalign.3:28 +#: build/C/man3/posix_memalign.3:29 #, no-wrap msgid "POSIX_MEMALIGN" msgstr "" #. type: TH -#: build/C/man3/posix_memalign.3:28 +#: build/C/man3/posix_memalign.3:29 #, no-wrap -msgid "2012-03-23" +msgid "2013-09-02" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:31 +#: build/C/man3/posix_memalign.3:32 msgid "" -"posix_memalign, aligned_alloc, memalign, valloc, pvalloc - Allocate aligned " +"posix_memalign, aligned_alloc, memalign, valloc, pvalloc - allocate aligned " "memory" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:38 +#: build/C/man3/posix_memalign.3:35 +#, no-wrap +msgid "B<#include Estdlib.hE>\n" +msgstr "" + +#. type: Plain text +#: build/C/man3/posix_memalign.3:39 #, no-wrap msgid "" "BIB<, size_t >IB<, size_t " @@ -6097,7 +6421,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:43 +#: build/C/man3/posix_memalign.3:44 #, no-wrap msgid "" "BIB<, size_t >IB<);>\n" @@ -6105,30 +6429,30 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:53 +#: build/C/man3/posix_memalign.3:54 msgid "" "B(): _POSIX_C_SOURCE\\ E=\\ 200112L || _XOPEN_SOURCE\\ " "E=\\ 600" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:56 +#: build/C/man3/posix_memalign.3:57 msgid "B(): _ISOC11_SOURCE" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:58 +#: build/C/man3/posix_memalign.3:59 msgid "B():" msgstr "" #. type: TP -#: build/C/man3/posix_memalign.3:61 +#: build/C/man3/posix_memalign.3:62 #, no-wrap msgid "Since glibc 2.12:" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:68 +#: build/C/man3/posix_memalign.3:69 #, no-wrap msgid "" "_BSD_SOURCE ||\n" @@ -6138,20 +6462,20 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/posix_memalign.3:70 +#: build/C/man3/posix_memalign.3:71 #, no-wrap msgid "Before glibc 2.12:" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:74 +#: build/C/man3/posix_memalign.3:75 msgid "" "_BSD_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE\\ &&\\ " "_XOPEN_SOURCE_EXTENDED" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:81 +#: build/C/man3/posix_memalign.3:82 msgid "" "(The (nonstandard) header file Imalloc.hE> also exposes the " "declaration of B(); no feature test macros are required.)" @@ -6159,20 +6483,20 @@ msgstr "" #. glibc does this: #. type: Plain text -#: build/C/man3/posix_memalign.3:102 +#: build/C/man3/posix_memalign.3:104 msgid "" "The function B() allocates I bytes and places the " "address of the allocated memory in I<*memptr>. The address of the allocated " "memory will be a multiple of I, which must be a power of two and " -"a multiple of I. If I is 0, then B() " -"returns either NULL, or a unique pointer value that can later be " +"a multiple of I. If I 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(3)." msgstr "" #. 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:113 +#: build/C/man3/posix_memalign.3:115 msgid "" "The obsolete function B() allocates I bytes and returns a " "pointer to the allocated memory. The memory address will be a multiple of " @@ -6180,14 +6504,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:122 +#: build/C/man3/posix_memalign.3:124 msgid "" "The function B() is the same as B(), except for " "the added restriction that I should be a multiple of I." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:132 +#: build/C/man3/posix_memalign.3:133 msgid "" "The obsolete function B() allocates I bytes and returns a " "pointer to the allocated memory. The memory address will be a multiple of " @@ -6195,62 +6519,63 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:139 +#: build/C/man3/posix_memalign.3:140 msgid "" "The obsolete function B() is similar to B(), but rounds " "the size of the allocation up to the next multiple of the system page size." msgstr "" #. 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(), B(), B(), and B() return a " "pointer to the allocated memory, or NULL if the request fails." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:155 +#: build/C/man3/posix_memalign.3:157 msgid "" "B() returns zero on success, or one of the error values " -"listed in the next section on failure. Note that I is not set." +"listed in the next section on failure. The value of I is " +"indeterminate after a call to B()." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:162 +#: build/C/man3/posix_memalign.3:164 msgid "" "The I argument was not a power of two, or was not a multiple of " -"I." +"I." msgstr "" #. 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(), B(), and B() have been " "available in all Linux libc libraries." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:176 +#: build/C/man3/posix_memalign.3:178 msgid "The function B() was added to glibc in version 2.16." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:180 +#: build/C/man3/posix_memalign.3:182 msgid "The function B() is available since glibc 2.1.91." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:187 +#: build/C/man3/posix_memalign.3:189 msgid "" "The function B() appeared in 3.0BSD. It is documented as being " "obsolete in 4.3BSD, and as legacy in SUSv2. It does not appear in " @@ -6258,47 +6583,47 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:191 +#: build/C/man3/posix_memalign.3:193 msgid "The function B() is a GNU extension." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:195 +#: build/C/man3/posix_memalign.3:197 msgid "The function B() appears in SunOS 4.1.3 but not in 4.4BSD." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:199 +#: build/C/man3/posix_memalign.3:201 msgid "The function B() comes from POSIX.1d." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:204 +#: build/C/man3/posix_memalign.3:206 msgid "The function B() is specified in the C11 standard." msgstr "" #. 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() is declared in " "Istdlib.hE>." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:212 +#: build/C/man3/posix_memalign.3:214 msgid "" "On some systems B() is declared in Istdlib.hE> instead " "of Imalloc.hE>." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:219 +#: build/C/man3/posix_memalign.3:221 msgid "" "According to SUSv2, B() is declared in Istdlib.hE>. " "Libc4,5 and glibc declare it in Imalloc.hE>, and also in " @@ -6307,7 +6632,7 @@ msgid "" msgstr "" #. 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 " @@ -6316,7 +6641,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:237 +#: build/C/man3/posix_memalign.3:239 msgid "" "B() verifies that I matches the requirements " "detailed above. B() may not check that the I argument " @@ -6330,26 +6655,26 @@ msgstr "" #. 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() can be freed " "using B(3). Some systems provide no way to reclaim memory allocated " -"with B() or B() (because one can only pass to B(3) " -"a pointer gotten from B(3), while, for example, B() would " -"call B(3) and then align the obtained value). The glibc " +"with B() or B() (because one can pass to B(3) " +"only a pointer obtained from B(3), while, for example, B() " +"would call B(3) and then align the obtained value). The glibc " "implementation allows memory obtained from any of these functions to be " "reclaimed with B(3)." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:270 +#: build/C/man3/posix_memalign.3:272 msgid "" "The glibc B(3) always returns 8-byte aligned memory addresses, so " -"these functions are only needed if you require larger alignment values." +"these functions are needed only if you require larger alignment values." msgstr "" #. type: Plain text -#: build/C/man3/posix_memalign.3:275 +#: build/C/man3/posix_memalign.3:277 msgid "B(2), B(2), B(3), B(3)" msgstr "" @@ -6360,14 +6685,14 @@ msgid "READAHEAD" msgstr "" #. type: TH -#: build/C/man2/readahead.2:28 build/C/man7/shm_overview.7:27 +#: build/C/man2/readahead.2:28 #, no-wrap -msgid "2010-09-10" +msgid "2014-03-15" msgstr "" #. 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 "" #. type: Plain text @@ -6379,47 +6704,53 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:65 +#: build/C/man2/readahead.2:44 +msgid "" +"B() 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 "" + +#. type: Plain text +#: build/C/man2/readahead.2:66 msgid "" -"B() 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 " -"argument is a file descriptor identifying the file which is to be read. The " -"I argument specifies the starting point from which data is to be " -"read and I specifies the number of bytes to be read. I/O is " +"The I argument is a file descriptor identifying the file which is to be " +"read. The I argument specifies the starting point from which data " +"is to be read and I specifies the number of bytes to be read. I/O is " "performed in whole pages, so that I 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() does not read beyond the end " -"of the file. B() blocks until the specified data has been " -"read. The current file offset of the open file referred to by I is left " -"unchanged." +"of the file. The current file offset of the open file referred to by I " +"is left unchanged." msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:71 +#: build/C/man2/readahead.2:72 msgid "" "On success, B() returns 0; on failure, -1 is returned, with " "I set to indicate the cause of the error." msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:76 +#: build/C/man2/readahead.2:77 msgid "I is not a valid file descriptor or is not open for reading." msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:82 +#: build/C/man2/readahead.2:83 msgid "I does not refer to a file type to which B() can be applied." msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:87 +#: build/C/man2/readahead.2:88 msgid "" "The B() system call appeared in Linux 2.4.13; glibc support has " "been provided since version 2.3." msgstr "" #. type: Plain text -#: build/C/man2/readahead.2:92 +#: build/C/man2/readahead.2:93 msgid "" "The B() system call is Linux-specific, and its use should be " "avoided in portable applications." @@ -6427,22 +6758,39 @@ msgstr "" #. type: Plain text #: 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(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/readahead.2:107 +msgid "" +"B() 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 "" + +#. type: Plain text +#: build/C/man2/readahead.2:113 msgid "B(2), B(2), B(2), B(2), B(2)" msgstr "" #. type: TH -#: build/C/man2/remap_file_pages.2:26 +#: build/C/man2/remap_file_pages.2:28 #, no-wrap msgid "REMAP_FILE_PAGES" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:29 +#: build/C/man2/remap_file_pages.2:31 msgid "remap_file_pages - create a nonlinear file mapping" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:33 +#: build/C/man2/remap_file_pages.2:35 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" @@ -6450,16 +6798,27 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:36 +#: build/C/man2/remap_file_pages.2:38 #, no-wrap msgid "" "BIB<, size_t >IB<, int " ">IB<,>\n" -"B< ssize_t >IB<, int >IB<);>\n" +"B< size_t >IB<, int >IB<);>\n" +msgstr "" + +#. commit 33041a0d76d3c3e0aff28ac95a2ffdedf1282dbc +#. http://lwn.net/Articles/597632/ +#. type: Plain text +#: build/C/man2/remap_file_pages.2:47 +msgid "" +"B: this system call is (since Linux 3.16) deprecated and will " +"eventually be replaced by a slower in-kernel emulation. Those few " +"applications that use this system call should consider migrating to " +"alternatives." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:49 +#: build/C/man2/remap_file_pages.2:59 msgid "" "The B() system call is used to create a nonlinear " "mapping, that is, a mapping in which the pages of the file are mapped into a " @@ -6470,31 +6829,31 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:51 +#: build/C/man2/remap_file_pages.2:61 msgid "To create a nonlinear mapping we perform the following steps:" msgstr "" -#. type: TP -#: build/C/man2/remap_file_pages.2:51 +#. type: IP +#: build/C/man2/remap_file_pages.2:61 build/C/man2/memfd_create.2:219 #, no-wrap msgid "1." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:59 +#: build/C/man2/remap_file_pages.2:69 msgid "" "Use B(2) to create a mapping (which is initially linear). This " "mapping must be created with the B flag." msgstr "" -#. type: TP -#: build/C/man2/remap_file_pages.2:59 +#. type: IP +#: build/C/man2/remap_file_pages.2:69 build/C/man2/memfd_create.2:225 #, no-wrap msgid "2." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:67 +#: build/C/man2/remap_file_pages.2:77 msgid "" "Use one or more calls to B() to rearrange the " "correspondence between the pages of the mapping and the pages of the file. " @@ -6503,7 +6862,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:78 +#: build/C/man2/remap_file_pages.2:88 msgid "" "The I and I arguments specify the region of the file that is to " "be relocated within the mapping: I is a file offset in units of the " @@ -6511,7 +6870,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:96 +#: build/C/man2/remap_file_pages.2:106 msgid "" "The I argument serves two purposes. First, it identifies the mapping " "whose pages we want to rearrange. Thus, I must be an address that " @@ -6524,7 +6883,7 @@ msgstr "" #. the analogous arguments for munmap()/mprotect() and for mlock(). #. MTK, 14 Sep 2005 #. type: Plain text -#: build/C/man2/remap_file_pages.2:110 +#: build/C/man2/remap_file_pages.2:120 msgid "" "The values specified in I and I should be multiples of the " "system page size. If they are not, then the kernel rounds I values " @@ -6532,26 +6891,26 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:114 +#: build/C/man2/remap_file_pages.2:124 msgid "The I argument must be specified as 0." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:122 +#: build/C/man2/remap_file_pages.2:132 msgid "" "The I argument has the same meaning as for B(2), but all flags " "other than B are ignored." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:129 +#: build/C/man2/remap_file_pages.2:139 msgid "" "On success, B() returns 0. On error, -1 is returned, and " "I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:137 +#: build/C/man2/remap_file_pages.2:147 msgid "" "I does not refer to a valid mapping created with the B " "flag." @@ -6559,24 +6918,35 @@ msgstr "" #. And possibly others from vma->vm_ops->populate() #. type: Plain text -#: build/C/man2/remap_file_pages.2:146 +#: build/C/man2/remap_file_pages.2:156 msgid "I, I, I, or I is invalid." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:151 +#: build/C/man2/remap_file_pages.2:161 msgid "" "The B() system call appeared in Linux 2.5.46; glibc " "support was added in version 2.3.3." msgstr "" #. type: Plain text -#: build/C/man2/remap_file_pages.2:155 +#: build/C/man2/remap_file_pages.2:165 msgid "The B() system call is Linux-specific." msgstr "" +#. commit 3ee6dafc677a68e461a7ddafc94a580ebab80735 +#. type: Plain text +#: build/C/man2/remap_file_pages.2:176 +msgid "" +"Since Linux 2.6.23, B() creates non-linear mappings only " +"on in-memory file systems such as tmpfs, hugetlbfs or ramfs. On filesystems " +"with a backing store, B() is not much more efficient than " +"using B(2) to adjust which parts of the file are mapped to which " +"addresses." +msgstr "" + #. type: Plain text -#: build/C/man2/remap_file_pages.2:162 +#: build/C/man2/remap_file_pages.2:183 msgid "" "B(2), B(2), B(2), B(2), B(2), " "B(2)" @@ -6588,15 +6958,9 @@ msgstr "" msgid "SHM_OPEN" msgstr "" -#. type: TH -#: build/C/man3/shm_open.3:26 -#, no-wrap -msgid "2009-02-25" -msgstr "" - #. type: Plain text #: build/C/man3/shm_open.3:29 -msgid "shm_open, shm_unlink - Create/open or unlink POSIX shared memory objects" +msgid "shm_open, shm_unlink - create/open or unlink POSIX shared memory objects" msgstr "" #. type: Plain text @@ -6666,33 +7030,33 @@ msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:87 +#: build/C/man3/shm_open.3:89 msgid "" "Open the object for read access. A shared memory object opened in this way " -"can only be B(2)ed for read (B) access." +"can be B(2)ed only for read (B) access." msgstr "" #. type: TP -#: build/C/man3/shm_open.3:87 +#: build/C/man3/shm_open.3:89 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:90 +#: build/C/man3/shm_open.3:92 msgid "Open the object for read-write access." msgstr "" #. type: TP -#: build/C/man3/shm_open.3:90 +#: build/C/man3/shm_open.3:92 #, no-wrap msgid "B" msgstr "" -#. 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:110 +#: build/C/man3/shm_open.3:112 msgid "" "Create the shared memory object if it does not exist. The user and group " "ownership of the object are taken from the corresponding effective IDs of " @@ -6705,7 +7069,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:116 +#: build/C/man3/shm_open.3:118 msgid "" "A new shared memory object initially has zero length\\(emthe size of the " "object can be set using B(2). The newly allocated bytes of a " @@ -6713,13 +7077,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/shm_open.3:116 +#: build/C/man3/shm_open.3:118 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:125 +#: build/C/man3/shm_open.3:127 msgid "" "If B was also specified, and a shared memory object with the given " "I already exists, return an error. The check for the existence of the " @@ -6727,25 +7091,25 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/shm_open.3:125 +#: build/C/man3/shm_open.3:127 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:128 +#: build/C/man3/shm_open.3:130 msgid "If the shared memory object already exists, truncate it to zero bytes." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:131 +#: build/C/man3/shm_open.3:133 msgid "" "Definitions of these flag values can be obtained by including " "Ifcntl.hE>." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:142 +#: build/C/man3/shm_open.3:144 msgid "" "On successful completion B() returns a new file descriptor " "referring to the shared memory object. This file descriptor is guaranteed " @@ -6755,7 +7119,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:151 +#: build/C/man3/shm_open.3:153 msgid "" "The file descriptor is normally used in subsequent calls to B(2) " "(for a newly created object) and B(2). After a call to B(2) " @@ -6763,7 +7127,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:169 +#: build/C/man3/shm_open.3:171 msgid "" "The operation of B() is analogous to B(2): it removes a " "shared memory object name, and, once all processes have unmapped the object, " @@ -6774,7 +7138,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:178 +#: build/C/man3/shm_open.3:180 msgid "" "On success, B() returns a nonnegative file descriptor. On " "failure, B() returns -1. B() returns 0 on success, " @@ -6782,19 +7146,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:185 +#: build/C/man3/shm_open.3:187 msgid "" "On failure, I is set to indicate the cause of the error. Values " "which may appear in I include the following:" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:190 +#: build/C/man3/shm_open.3:192 msgid "Permission to B() the shared memory object was denied." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:200 +#: build/C/man3/shm_open.3:202 msgid "" "Permission was denied to B() I in the specified I, or " "B was specified and the caller does not have write permission on " @@ -6802,75 +7166,75 @@ msgid "" msgstr "" #. type: TP -#: build/C/man3/shm_open.3:200 build/C/man2/shmget.2:192 +#: build/C/man3/shm_open.3:202 build/C/man2/shmget.2:198 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:211 +#: build/C/man3/shm_open.3:213 msgid "" "Both B and B were specified to B() and the " "shared memory object specified by I already exists." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:218 +#: build/C/man3/shm_open.3:220 msgid "The I argument to B() was invalid." msgstr "" #. type: TP -#: build/C/man3/shm_open.3:218 +#: build/C/man3/shm_open.3:220 build/C/man2/memfd_create.2:146 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:221 +#: build/C/man3/shm_open.3:223 msgid "The process already has the maximum number of files open." msgstr "" #. type: TP -#: build/C/man3/shm_open.3:221 +#: build/C/man3/shm_open.3:223 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:227 +#: build/C/man3/shm_open.3:229 msgid "The length of I exceeds B." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:231 +#: build/C/man3/shm_open.3:233 msgid "The limit on the total number of files open on the system has been reached." msgstr "" #. type: TP -#: build/C/man3/shm_open.3:231 build/C/man3/shm_open.3:240 build/C/man2/shmget.2:206 +#: build/C/man3/shm_open.3:233 build/C/man3/shm_open.3:242 build/C/man2/shmget.2:225 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:240 +#: build/C/man3/shm_open.3:242 msgid "" "An attempt was made to B() a I that did not exist, and " "B was not specified." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:247 +#: build/C/man3/shm_open.3:249 msgid "An attempt was to made to B() a I that does not exist." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:249 +#: build/C/man3/shm_open.3:251 msgid "These functions are provided in glibc 2.2 and later." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:255 +#: build/C/man3/shm_open.3:257 msgid "" "POSIX.1-2001 says that the group ownership of a newly created shared memory " "object is set to either the calling process's effective group ID or \"a " @@ -6878,7 +7242,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:264 +#: build/C/man3/shm_open.3:266 msgid "" "POSIX leaves the behavior of the combination of B and B " "unspecified. On Linux, this will successfully truncate an existing shared " @@ -6886,17 +7250,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:269 +#: 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." +"dedicated filesystem, which is normally mounted under I." msgstr "" #. type: Plain text -#: build/C/man3/shm_open.3:280 +#: build/C/man3/shm_open.3:283 msgid "" "B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), B(2), B(7)" +"B(2), B(2), B(2), B(2), B(2), " +"B(7)" msgstr "" #. type: TH @@ -6905,9 +7270,15 @@ msgstr "" msgid "SHM_OVERVIEW" msgstr "" +#. type: TH +#: build/C/man7/shm_overview.7:27 +#, no-wrap +msgid "2010-09-10" +msgstr "" + #. type: Plain text #: build/C/man7/shm_overview.7:30 -msgid "shm_overview - Overview of POSIX shared memory" +msgid "shm_overview - overview of POSIX shared memory" msgstr "" #. type: Plain text @@ -7070,16 +7441,16 @@ msgstr "" #. 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) virtual file " -"system, normally mounted under I. Since kernel 2.6.19, Linux " +"On Linux, shared memory objects are created in a (I) virtual " +"filesystem, normally mounted under I. 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 "" #. type: Plain text @@ -7107,53 +7478,53 @@ msgid "" msgstr "" #. type: TH -#: build/C/man2/shmctl.2:43 +#: build/C/man2/shmctl.2:45 #, no-wrap msgid "SHMCTL" msgstr "" #. type: TH -#: build/C/man2/shmctl.2:43 +#: build/C/man2/shmctl.2:45 #, no-wrap -msgid "2008-08-07" +msgid "2014-02-07" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:46 -msgid "shmctl - shared memory control" +#: build/C/man2/shmctl.2:48 +msgid "shmctl - System V shared memory control" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:49 build/C/man2/shmget.2:42 +#: build/C/man2/shmctl.2:51 build/C/man2/shmget.2:44 msgid "B<#include Esys/ipc.hE>" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:51 build/C/man2/shmget.2:44 +#: build/C/man2/shmctl.2:53 build/C/man2/shmget.2:46 msgid "B<#include Esys/shm.hE>" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:53 +#: build/C/man2/shmctl.2:55 msgid "BIB<, int >IB<, struct shmid_ds *>IB<);>" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:60 +#: build/C/man2/shmctl.2:62 msgid "" "B() performs the control operation specified by I on the " -"shared memory segment whose identifier is given in I." +"System\\ V shared memory segment whose identifier is given in I." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:65 +#: build/C/man2/shmctl.2:67 msgid "" "The I argument is a pointer to a I structure, defined in " "Isys/shm.hE> as follows:" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:79 +#: build/C/man2/shmctl.2:81 #, no-wrap msgid "" "struct shmid_ds {\n" @@ -7170,14 +7541,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:87 +#: build/C/man2/shmctl.2:89 msgid "" -"The I structure is defined in Isys/ipc.hE> as follows " -"(the highlighted fields are settable using B):" +"The I structure is defined as follows (the highlighted fields are " +"settable using B):" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:100 +#: build/C/man2/shmctl.2:102 #, no-wrap msgid "" "struct ipc_perm {\n" @@ -7193,18 +7564,18 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:106 +#: build/C/man2/shmctl.2:108 msgid "Valid values for I are:" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:107 +#: build/C/man2/shmctl.2:109 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:116 +#: build/C/man2/shmctl.2:118 msgid "" "Copy information from the kernel data structure associated with I " "into the I structure pointed to by I. The caller must have " @@ -7212,13 +7583,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:116 +#: build/C/man2/shmctl.2:118 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:134 +#: build/C/man2/shmctl.2:136 msgid "" "Write the values of some members of the I structure pointed to by " "I to the kernel data structure associated with this shared memory " @@ -7230,50 +7601,63 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:134 +#: build/C/man2/shmctl.2:136 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:151 +#: 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 " -"member of the associated structure I 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 flag of the " -"I field in the associated data structure retrieved by " -"B will be set." +"Mark the segment to be destroyed. The segment will actually be destroyed " +"only after the last process detaches it (i.e., when the I member " +"of the associated structure I is zero). The caller must be the " +"owner or creator of the segment, or be privileged. The I argument is " +"ignored." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmctl.2:157 +msgid "" +"If a segment has been marked for destruction, then the (nonstandard) " +"B flag of the I field in the associated data " +"structure retrieved by B will be set." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:154 +#: build/C/man2/shmctl.2:160 msgid "" "The caller I ensure that a segment is eventually destroyed; otherwise " "its pages that were faulted in will remain in memory or swap." msgstr "" +#. type: Plain text +#: build/C/man2/shmctl.2:165 +msgid "" +"See also the description of I in " +"B(5)." +msgstr "" + #. type: TP -#: build/C/man2/shmctl.2:154 +#: build/C/man2/shmctl.2:165 #, no-wrap msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:167 +#: 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. This structure is of type I " "(thus, a cast is required), defined in Isys/shm.hE> if the " "B<_GNU_SOURCE> feature test macro is defined:" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:181 +#: 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" @@ -7287,28 +7671,28 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:194 +#: build/C/man2/shmctl.2:205 msgid "" "The I, I, and I settings can be changed via I " "files of the same name; see B(5) for details." msgstr "" #. type: TP -#: build/C/man2/shmctl.2:194 +#: build/C/man2/shmctl.2:205 #, no-wrap msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:205 +#: build/C/man2/shmctl.2:216 msgid "" -"Returns a I structure whose fields contain information about " -"system resources consumed by shared memory. This structure is defined in " +"Return a I structure whose fields contain information about system " +"resources consumed by shared memory. This structure is defined in " "Isys/shm.hE> if the B<_GNU_SOURCE> feature test macro is defined:" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:222 +#: build/C/man2/shmctl.2:233 #, no-wrap msgid "" "struct shm_info {\n" @@ -7328,35 +7712,35 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:224 +#: build/C/man2/shmctl.2:235 #, no-wrap msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:235 +#: build/C/man2/shmctl.2:246 msgid "" -"Returns a I structure as for B. However, the I " +"Return a I structure as for B. However, the I " "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." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:238 +#: build/C/man2/shmctl.2:249 msgid "" "The caller can prevent or allow swapping of a shared memory segment with the " "following I values:" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:239 +#: build/C/man2/shmctl.2:250 #, no-wrap msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:251 +#: 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 " @@ -7366,13 +7750,13 @@ msgid "" msgstr "" #. type: TP -#: build/C/man2/shmctl.2:251 +#: build/C/man2/shmctl.2:262 #, no-wrap msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:254 +#: build/C/man2/shmctl.2:265 msgid "Unlock the segment, allowing it to be swapped out." msgstr "" @@ -7381,7 +7765,7 @@ 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:272 +#: build/C/man2/shmctl.2:283 msgid "" "In kernels before 2.6.10, only a privileged process could employ B " "and B. Since kernel 2.6.10, an unprivileged process can employ " @@ -7391,7 +7775,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:290 +#: build/C/man2/shmctl.2:301 msgid "" "A successful B or B operation returns the index of the " "highest used entry in the kernel's internal array recording information " @@ -7403,12 +7787,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:294 +#: build/C/man2/shmctl.2:305 msgid "On error, -1 is returned, and I is set appropriately." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:303 +#: build/C/man2/shmctl.2:314 msgid "" "B or B is requested and I does not allow " "read access for I, and the calling process does not have the " @@ -7416,25 +7800,25 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:314 +#: build/C/man2/shmctl.2:325 msgid "" "The argument I has value B or B but the address " "pointed to by I isn't accessible." msgstr "" #. type: TP -#: build/C/man2/shmctl.2:314 +#: build/C/man2/shmctl.2:325 build/C/man2/shmop.2:194 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:317 +#: build/C/man2/shmctl.2:328 build/C/man2/shmop.2:197 msgid "I points to a removed identifier." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:326 +#: build/C/man2/shmctl.2:337 msgid "" "I is not a valid identifier, or I is not a valid command. Or: " "for a B operation, the index value specified in I referred " @@ -7442,7 +7826,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:337 +#: build/C/man2/shmctl.2:348 msgid "" "(In kernels since 2.6.9), B was specified and the size of the " "to-be-locked segment would mean that the total bytes in locked shared memory " @@ -7451,21 +7835,15 @@ msgid "" "(see B(2))." msgstr "" -#. type: TP -#: build/C/man2/shmctl.2:337 -#, no-wrap -msgid "B" -msgstr "" - #. type: Plain text -#: build/C/man2/shmctl.2:342 +#: build/C/man2/shmctl.2:353 msgid "" "B is attempted, and the GID or UID value is too large to be stored " "in the structure pointed to by I." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:354 +#: build/C/man2/shmctl.2:365 msgid "" "B or B is attempted, and the effective user ID of the " "calling process is not that of the creator (found in I), or " @@ -7474,7 +7852,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:366 +#: build/C/man2/shmctl.2:377 msgid "" "Or (in kernels before 2.6.9), B or B was specified, " "but the process was not privileged (Linux: did not have the B " @@ -7484,20 +7862,32 @@ msgstr "" #. SVr4 documents an additional error condition EMFILE. #. type: Plain text -#: build/C/man2/shmctl.2:371 build/C/man2/shmget.2:232 build/C/man2/shmop.2:229 +#: build/C/man2/shmctl.2:382 build/C/man2/shmget.2:251 build/C/man2/shmop.2:231 msgid "SVr4, POSIX.1-2001." msgstr "" +#. Like Linux, the FreeBSD man pages still document +#. the inclusion of these header files. +#. type: Plain text +#: build/C/man2/shmctl.2:395 build/C/man2/shmget.2:269 +msgid "" +"The inclusion of Isys/types.hE> and Isys/ipc.hE> isn't " +"required on Linux or by any version of POSIX. However, some old " +"implementations required the inclusion of these header files, and the SVID " +"also documented their inclusion. Applications intended to be portable to " +"such old systems may need to include these header files." +msgstr "" + #. type: Plain text -#: build/C/man2/shmctl.2:382 +#: build/C/man2/shmctl.2:407 msgid "" "The B, B and B operations are used by the " "B(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 filesystem interface." msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:390 +#: build/C/man2/shmctl.2:415 msgid "" "Linux permits a process to attach (B(2)) a shared memory segment " "that has already been marked for deletion using I. This " @@ -7506,7 +7896,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:403 +#: build/C/man2/shmctl.2:428 msgid "" "Various fields in a I were typed as I under Linux " "2.2 and have become I under Linux 2.4. To take advantage of this, a " @@ -7515,47 +7905,47 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmctl.2:410 +#: build/C/man2/shmctl.2:435 msgid "" "B(2), B(2), B(2), B(2), B(7), " "B(7)" msgstr "" #. type: TH -#: build/C/man2/shmget.2:36 +#: build/C/man2/shmget.2:38 #, no-wrap msgid "SHMGET" msgstr "" #. type: TH -#: build/C/man2/shmget.2:36 +#: build/C/man2/shmget.2:38 #, no-wrap -msgid "2006-05-02" +msgid "2015-01-10" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:39 -msgid "shmget - allocates a shared memory segment" +#: build/C/man2/shmget.2:41 +msgid "shmget - allocates a System V shared memory segment" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:46 +#: build/C/man2/shmget.2:48 msgid "BIB<, size_t >IB<, int >IB<);>" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:70 +#: build/C/man2/shmget.2:72 msgid "" -"B() returns the identifier of the shared memory segment associated " -"with the value of the argument I. A new shared memory segment, with " -"size equal to the value of I rounded up to a multiple of B, " -"is created if I has the value B or I isn't " -"B, no shared memory segment corresponding to I exists, and " -"B is specified in I." +"B() returns the identifier of the System\\ V shared memory segment " +"associated with the value of the argument I. A new shared memory " +"segment, with size equal to the value of I rounded up to a multiple of " +"B, is created if I has the value B or I " +"isn't B, no shared memory segment corresponding to I " +"exists, and B is specified in I." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:89 +#: build/C/man2/shmget.2:91 msgid "" "If I specifies both B and B and a shared memory " "segment already exists for I, then B() fails with I set " @@ -7564,65 +7954,52 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:93 +#: build/C/man2/shmget.2:95 msgid "The value I is composed of:" msgstr "" #. type: TP -#: build/C/man2/shmget.2:93 +#: build/C/man2/shmget.2:95 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:100 +#: build/C/man2/shmget.2:102 msgid "" -"to create a new segment. If this flag is not used, then B() will " -"find the segment associated with I and check to see if the user has " +"Create a new segment. If this flag is not used, then B() will find " +"the segment associated with I and check to see if the user has " "permission to access the segment." msgstr "" #. type: TP -#: build/C/man2/shmget.2:100 +#: build/C/man2/shmget.2:102 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:103 -msgid "used with B to ensure failure if the segment already exists." -msgstr "" - -#. type: TP -#: build/C/man2/shmget.2:103 -#, no-wrap -msgid "I" -msgstr "" - -#. type: Plain text -#: build/C/man2/shmget.2:113 +#: build/C/man2/shmget.2:108 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 argument of B(2). Presently, the execute permissions are " -"not used by the system." +"This flag is used with B to ensure that this call creates the " +"segment. If the segment already exists, the call fails." msgstr "" #. type: TP -#: build/C/man2/shmget.2:113 +#: build/C/man2/shmget.2:108 #, no-wrap msgid "B (since Linux 2.6)" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:119 +#: build/C/man2/shmget.2:114 msgid "" -"Allocate the segment using \"huge pages.\" See the kernel source file " +"Allocate the segment using \"huge pages.\" See the Linux kernel source file " "I for further information." msgstr "" #. type: TP -#: build/C/man2/shmget.2:119 +#: build/C/man2/shmget.2:114 #, no-wrap msgid "B (since Linux 2.6.15)" msgstr "" @@ -7630,7 +8007,7 @@ msgstr "" #. 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:138 +#: build/C/man2/shmget.2:133 msgid "" "This flag serves the same purpose as the B(2) B flag. " "Do not reserve swap space for this segment. When swap space is reserved, " @@ -7641,7 +8018,16 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:146 +#: build/C/man2/shmget.2:143 +msgid "" +"In addition to the above flags, the least significant 9 bits of I " +"specify the permissions granted to the owner, group, and others. These bits " +"have the same format, and the same meaning, as the I argument of " +"B(2). Presently, execute permissions are not used by the system." +msgstr "" + +#. 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 (see " @@ -7649,90 +8035,100 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:151 +#: build/C/man2/shmget.2:156 msgid "" "I and I are set to the effective user ID of the " "calling process." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:156 +#: build/C/man2/shmget.2:161 msgid "" "I and I are set to the effective group ID of " "the calling process." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:161 +#: build/C/man2/shmget.2:166 msgid "" "The least significant 9 bits of I are set to the least " "significant 9 bit of I." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:165 +#: build/C/man2/shmget.2:170 msgid "I is set to the value of I." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:172 -msgid "I, I, I and I are set to 0." +#: build/C/man2/shmget.2:177 +msgid "I, I, I, and I are set to 0." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:175 +#: build/C/man2/shmget.2:180 msgid "I is set to the current time." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:178 +#: 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." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:182 -msgid "A valid segment identifier, I, is returned on success, -1 on error." +#: build/C/man2/shmget.2:188 +msgid "" +"On success, a valid shared memory identifier is returned. On error, -1 is " +"returned, and I is set to indicate the error." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:186 +#: build/C/man2/shmget.2:192 msgid "On failure, I is set to one of the following:" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:192 +#: 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 capability." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:196 -msgid "B was specified and the segment exists." +#: build/C/man2/shmget.2:207 +msgid "" +"B and B were specified in I, but a shared " +"memory segment already exists for I." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:215 +msgid "" +"A new segment was to be created and I is less than B or " +"greater than B." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:202 +#: build/C/man2/shmget.2:221 msgid "" -"A new segment was to be created and I E B or I E " -"B, or no new segment was to be created, a segment with given key " -"existed, but I is greater than the size of that segment." +"A segment for the given I exists, but I is greater than the size " +"of that segment." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:211 +#: build/C/man2/shmget.2:230 msgid "No segment exists for the given I, and B was not specified." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:214 +#: build/C/man2/shmget.2:233 msgid "No memory could be allocated for segment overhead." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:222 +#: build/C/man2/shmget.2:241 msgid "" "All possible shared memory IDs have been taken (B), or allocating a " "segment of the requested I would cause the system to exceed the " @@ -7740,136 +8136,219 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:229 +#: build/C/man2/shmget.2:248 msgid "" "The B flag was specified, but the caller was not privileged " "(did not have the B capability)." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:235 -msgid "B is a nonportable Linux extension." +#: build/C/man2/shmget.2:256 +msgid "B and B are Linux extensions." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:245 +#: build/C/man2/shmget.2:280 msgid "" "B isn't a flag field but a I type. If this special " -"value is used for I, the system call ignores everything but the least " -"significant 9 bits of I and creates a new shared memory segment (on " -"success)." +"value is used for I, the system call ignores all but the least " +"significant 9 bits of I and creates a new shared memory segment." +msgstr "" + +#. type: SS +#: build/C/man2/shmget.2:280 +#, no-wrap +msgid "Shared memory limits" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:249 +#: build/C/man2/shmget.2:284 msgid "" "The following limits on shared memory segment resources affect the " "B() call:" msgstr "" #. type: TP -#: build/C/man2/shmget.2:249 +#: build/C/man2/shmget.2:284 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:254 +#: build/C/man2/shmget.2:288 +msgid "" +"System-wide limit on the total amount of shared memory, measured in units of " +"the system page size." +msgstr "" + +#. commit 060028bac94bf60a65415d1d55a359c3a17d5c31 +#. type: Plain text +#: build/C/man2/shmget.2:294 +msgid "" +"On Linux, this limit can be read and modified via " +"I. Since Linux 3.16, the default value for this " +"limit is:" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:296 build/C/man2/shmget.2:331 +#, no-wrap +msgid " ULONG_MAX - 2^24\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:307 +msgid "" +"The effect of this value (which is suitable for both 32-bit and 64-bit " +"systems) is to impose no limitation on allocations. This value, rather " +"than B, was chosen as the default to prevent some cases where " +"historical applications simply raised the existing limit without first " +"checking its current value. Such applications would cause the value to " +"overflow if the limit was set at B." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:310 +msgid "From Linux 2.4 up to Linux 3.15, the default value for this limit was:" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:312 +#, no-wrap +msgid " SHMMAX / PAGE_SIZE * (SHMMNI / 16)\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:320 msgid "" -"System wide maximum of shared memory pages (on Linux, this limit can be read " -"and modified via I)." +"If B and B were not modified, then multiplying the result of " +"this formula by the page size (to get a value in bytes) yielded a value of 8 " +"GB as the limit on the total memory used by all shared memory segments." msgstr "" #. type: TP -#: build/C/man2/shmget.2:254 +#: build/C/man2/shmget.2:320 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:259 +#: build/C/man2/shmget.2:323 +msgid "Maximum size in bytes for a shared memory segment." +msgstr "" + +#. commit 060028bac94bf60a65415d1d55a359c3a17d5c31 +#. type: Plain text +#: build/C/man2/shmget.2:329 +msgid "" +"On Linux, this limit can be read and modified via " +"I. Since Linux 3.16, the default value for this " +"limit is:" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:340 +msgid "" +"The effect of this value (which is suitable for both 32-bit and 64-bit " +"systems) is to impose no limitation on allocations. See the description of " +"B for a discussion of why this default value (rather than " +"B) is used." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:343 msgid "" -"Maximum size in bytes for a shared memory segment: policy dependent (on " -"Linux, this limit can be read and modified via I)." +"From Linux 2.2 up to Linux 3.15, the default value of this limit was " +"0x2000000 (32MB)." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmget.2:349 +msgid "" +"Because it is not possible to map just part of a shared memory segment, the " +"amount of virtual memory places another limit on the maximum size of a " +"usable segment: for example, on i386 the largest segments that can be mapped " +"have a size of around 2.8 GB, and on x86_64 the limit is around 127 TB." msgstr "" #. type: TP -#: build/C/man2/shmget.2:259 +#: build/C/man2/shmget.2:349 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:265 +#: build/C/man2/shmget.2:355 msgid "" "Minimum size in bytes for a shared memory segment: implementation dependent " "(currently 1 byte, though B is the effective minimum size)." msgstr "" #. type: TP -#: build/C/man2/shmget.2:265 +#: build/C/man2/shmget.2:355 #, no-wrap msgid "B" msgstr "" +#. type: Plain text +#: build/C/man2/shmget.2:360 +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 "" + #. 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:274 +#: build/C/man2/shmget.2:366 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)." +"On Linux, this limit can be read and modified via " +"I." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:278 +#: build/C/man2/shmget.2:370 msgid "" "The implementation has no specific limits for the per-process maximum number " "of shared memory segments (B)." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:284 +#: build/C/man2/shmget.2:376 msgid "" -"Until version 2.3.30 Linux would return B for a B() on a " +"Until version 2.3.30, Linux would return B for a B() on a " "shared memory segment scheduled for deletion." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:290 +#: build/C/man2/shmget.2:382 msgid "" "The name choice B was perhaps unfortunate, B would " "more clearly show its function." msgstr "" #. type: Plain text -#: build/C/man2/shmget.2:298 +#: build/C/man2/shmget.2:391 msgid "" -"B(2), B(2), B(2), B(3), B(7), " -"B(7), B(7)" +"B(2), B(2), B(2), B(2), B(3), " +"B(7), B(7), B(7)" msgstr "" #. type: TH -#: build/C/man2/shmop.2:39 +#: build/C/man2/shmop.2:41 #, no-wrap msgid "SHMOP" msgstr "" -#. type: TH -#: build/C/man2/shmop.2:39 -#, no-wrap -msgid "2008-06-03" -msgstr "" - #. type: Plain text -#: build/C/man2/shmop.2:42 -msgid "shmat, shmdt - shared memory operations" +#: build/C/man2/shmop.2:44 +msgid "shmat, shmdt - System V shared memory operations" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:46 +#: build/C/man2/shmop.2:48 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" @@ -7877,7 +8356,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:48 +#: build/C/man2/shmop.2:50 #, no-wrap msgid "" "BIB<, const void *>IB<, int " @@ -7885,21 +8364,27 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:50 +#: build/C/man2/shmop.2:52 #, no-wrap msgid "BIB<);>\n" msgstr "" +#. type: SS +#: build/C/man2/shmop.2:54 +#, no-wrap +msgid "shmat()" +msgstr "" + #. type: Plain text -#: build/C/man2/shmop.2:59 +#: build/C/man2/shmop.2:62 msgid "" -"B() attaches the shared memory segment identified by I to the " -"address space of the calling process. The attaching address is specified by " -"I with one of the following criteria:" +"B() attaches the System\\ V shared memory segment identified by " +"I to the address space of the calling process. The attaching address " +"is specified by I with one of the following criteria:" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:65 +#: build/C/man2/shmop.2:68 msgid "" "If I is NULL, the system chooses a suitable (unused) address at " "which to attach the segment." @@ -7910,32 +8395,70 @@ msgstr "" msgid "" "If I isn't NULL and B is specified in I, the " "attach occurs at the address equal to I rounded down to the nearest " -"multiple of B. Otherwise I must be a page-aligned address " -"at which the attach occurs." +"multiple of B." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:84 +msgid "" +"Otherwise, I must be a page-aligned address at which the attach " +"occurs." msgstr "" #. type: Plain text #: build/C/man2/shmop.2:90 msgid "" -"If B is specified in I, 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." +"In addition to B, the following flags may be specified in the " +"I bit-mask argument:" +msgstr "" + +#. type: TP +#: build/C/man2/shmop.2:90 +#, no-wrap +msgid "B (Linux-specific; since Linux 2.6.9)" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:94 +msgid "" +"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" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:102 +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 "" + +#. type: TP +#: build/C/man2/shmop.2:102 +#, no-wrap +msgid "B (Linux-specific)" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:105 +#: build/C/man2/shmop.2:115 msgid "" -"The (Linux-specific) B flag may be specified in I to " -"indicate that the mapping of the segment should replace any existing mapping " -"in the range starting at I and continuing for the size of the " -"segment. (Normally an B error would result if a mapping already " -"exists in this address range.) In this case, I must not be NULL." +"This flag specifies that the mapping of the segment should replace any " +"existing mapping in the range starting at I and continuing for the " +"size of the segment. (Normally, an B error would result if a " +"mapping already exists in this address range.) In this case, I " +"must not be NULL." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:112 +#: build/C/man2/shmop.2:122 msgid "" "The B(2) value of the calling process is not altered by the attach. " "The segment will automatically be detached at process exit. The same " @@ -7944,7 +8467,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:120 +#: build/C/man2/shmop.2:130 msgid "" "A successful B() call updates the members of the I " "structure (see B(2)) associated with the shared memory segment as " @@ -7952,22 +8475,28 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:123 +#: build/C/man2/shmop.2:133 msgid "I is set to the current time." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:126 build/C/man2/shmop.2:152 +#: build/C/man2/shmop.2:136 build/C/man2/shmop.2:163 msgid "I is set to the process-ID of the calling process." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:129 +#: build/C/man2/shmop.2:140 msgid "I is incremented by one." msgstr "" -#. type: Plain text +#. type: SS #: build/C/man2/shmop.2:140 +#, no-wrap +msgid "shmdt()" +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:151 msgid "" "B() detaches the shared memory segment located at the address " "specified by I from the address space of the calling process. The " @@ -7976,72 +8505,53 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:146 +#: build/C/man2/shmop.2:157 msgid "" -"On a successful B() call the system updates the members of the " +"On a successful B() call, the system updates the members of the " "I structure associated with the shared memory segment as follows:" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:149 +#: build/C/man2/shmop.2:160 msgid "I is set to the current time." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:157 +#: build/C/man2/shmop.2:168 msgid "" "I is decremented by one. If it becomes 0 and the segment is " "marked for deletion, the segment is deleted." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:161 -msgid "After a B(2) the child inherits the attached shared memory segments." -msgstr "" - -#. type: Plain text -#: build/C/man2/shmop.2:165 +#: build/C/man2/shmop.2:176 msgid "" -"After an B(2) all attached shared memory segments are detached from " -"the process." -msgstr "" - -#. type: Plain text -#: build/C/man2/shmop.2:169 -msgid "" -"Upon B<_exit>(2) all attached shared memory segments are detached from the " -"process." -msgstr "" - -#. type: Plain text -#: build/C/man2/shmop.2:177 -msgid "" -"On success B() returns the address of the attached shared memory " -"segment; on error I<(void\\ *)\\ -1> is returned, and I is set to " +"On success, B() returns the address of the attached shared memory " +"segment; on error, I<(void\\ *)\\ -1> is returned, and I is set to " "indicate the cause of the error." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:183 +#: build/C/man2/shmop.2:182 msgid "" -"On success B() returns 0; on error -1 is returned, and I is " +"On success, B() returns 0; on error -1 is returned, and I is " "set to indicate the cause of the error." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:189 +#: build/C/man2/shmop.2:188 msgid "When B() fails, I is set to one of the following:" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:195 +#: 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 capability." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:209 +#: build/C/man2/shmop.2:211 msgid "" "Invalid I value, unaligned (i.e., not page-aligned and B was " "not specified) or invalid I value, or can't attach segment at " @@ -8049,34 +8559,52 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:212 +#: build/C/man2/shmop.2:214 msgid "Could not allocate memory for the descriptor or for the page tables." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:218 +#: build/C/man2/shmop.2:220 msgid "When B() fails, I is set as follows:" msgstr "" #. The following since 2.6.17-rc1: #. type: Plain text -#: build/C/man2/shmop.2:226 +#: build/C/man2/shmop.2:228 msgid "" "There is no shared memory segment attached at I; or, I is " "not aligned on a page boundary." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:245 +#: build/C/man2/shmop.2:243 +msgid "" +"In SVID 3 (or perhaps earlier), the type of the I argument was " +"changed from I into I, and the returned type of " +"B() from I into I." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:248 +msgid "After a B(2), the child inherits the attached shared memory segments." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:252 msgid "" -"In SVID 3 (or perhaps earlier) the type of the I argument was " -"changed from I into I, and the returned type of " -"B() from I into I. (Linux libc4 and libc5 have the " -"I prototypes; glibc2 has I.)" +"After an B(2), all attached shared memory segments are detached from " +"the process." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:257 +#: build/C/man2/shmop.2:256 +msgid "" +"Upon B<_exit>(2), all attached shared memory segments are detached from the " +"process." +msgstr "" + +#. type: Plain text +#: build/C/man2/shmop.2:268 msgid "" "Using B() with I equal to NULL is the preferred, portable " "way of attaching a shared memory segment. Be aware that the shared memory " @@ -8087,7 +8615,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:262 +#: build/C/man2/shmop.2:273 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 " @@ -8095,61 +8623,61 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:265 +#: build/C/man2/shmop.2:276 msgid "The following system parameter affects B():" msgstr "" -#. FIXME A good explanation of the rationale for the existence -#. of SHMLBA would be useful here #. type: TP -#: build/C/man2/shmop.2:265 +#: build/C/man2/shmop.2:276 #, no-wrap msgid "B" msgstr "" -#. FIXME That last sentence isn't true for all Linux -#. architectures (i.e., SHMLBA != PAGE_SIZE for some architectures) -#. -- MTK, Nov 04 #. type: Plain text -#: build/C/man2/shmop.2:278 +#: build/C/man2/shmop.2:289 msgid "" -"Segment low boundary address multiple. Must be page aligned. For the " -"current implementation the B value is B." +"Segment low boundary address multiple. When explicitly specifying an attach " +"address in a call to B(), the caller should ensure that the address " +"is a multiple of this value. This is necessary on some architectures, in " +"order either to ensure good CPU cache performance or to ensure that " +"different attaches of the same segment have consistent views within the CPU " +"cache. B is normally some multiple of the system page size (on many " +"Linux architectures, it is the same as the system page size)." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:282 +#: build/C/man2/shmop.2:293 msgid "" -"The implementation places no intrinsic limit on the per-process maximum " -"number of shared memory segments (B)." +"The implementation places no intrinsic per-process limit on the number of " +"shared memory segments (B)." msgstr "" #. type: Plain text -#: build/C/man2/shmop.2:290 +#: build/C/man2/shmop.2:301 msgid "" "B(2), B(2), B(2), B(2), B(7), " "B(7), B(7)" msgstr "" #. type: TH -#: build/C/man2/subpage_prot.2:28 +#: build/C/man2/subpage_prot.2:30 #, no-wrap msgid "SUBPAGE_PROT" msgstr "" #. type: TH -#: build/C/man2/subpage_prot.2:28 +#: build/C/man2/subpage_prot.2:30 #, no-wrap -msgid "2010-10-30" +msgid "2012-07-13" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:31 +#: build/C/man2/subpage_prot.2:33 msgid "subpage_prot - define a subpage protection for an address range" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:35 +#: build/C/man2/subpage_prot.2:37 #, no-wrap msgid "" "BIB<, unsigned long >IB<,>\n" @@ -8157,7 +8685,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:42 +#: build/C/man2/subpage_prot.2:41 +msgid "I: There is no glibc wrapper for this system call; see NOTES." +msgstr "" + +#. type: Plain text +#: build/C/man2/subpage_prot.2:47 msgid "" "The PowerPC-specific B() system call provides the facility to " "control the access permissions on individual 4kB subpages on systems " @@ -8165,7 +8698,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:49 +#: build/C/man2/subpage_prot.2:54 msgid "" "The protection map is applied to the memory pages in the region starting at " "I and continuing for I bytes. Both of these arguments must be " @@ -8173,7 +8706,7 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:61 +#: build/C/man2/subpage_prot.2:66 msgid "" "The protection map is specified in the buffer pointed to by I. The map " "has 2 bits per 4kB subpage; thus each 32-bit word specifies the protections " @@ -8184,19 +8717,19 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:66 +#: build/C/man2/subpage_prot.2:71 msgid "" "On success, B() returns 0. Otherwise, one of the error codes " "specified below is returned." msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:72 +#: build/C/man2/subpage_prot.2:77 msgid "The buffer referred to by I is not accessible." msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:82 +#: build/C/man2/subpage_prot.2:87 msgid "" "The I or I arguments are incorrect. Both of these arguments must " "be aligned to a multiple of the system page size, and they must not refer to " @@ -8205,12 +8738,12 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:85 build/C/man2/sync_file_range.2:166 +#: build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:166 msgid "Out of memory." msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:91 +#: build/C/man2/subpage_prot.2:96 msgid "" "This system call is provided on the PowerPC architecture since Linux " "2.6.25. The system call is provided only if the kernel is configured with " @@ -8218,7 +8751,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:98 +#: build/C/man2/subpage_prot.2:101 +msgid "" +"Glibc does not provide a wrapper for this system call; call it using " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/subpage_prot.2:106 msgid "" "Normal page protections (at the 64-kB page level) also apply; the subpage " "protection mechanism is an additional constraint, so putting 0 in a 2-bit " @@ -8226,7 +8766,7 @@ msgid "" msgstr "" #. type: SS -#: build/C/man2/subpage_prot.2:98 +#: build/C/man2/subpage_prot.2:106 #, no-wrap msgid "Rationale" msgstr "" @@ -8238,7 +8778,7 @@ msgstr "" #. But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch #. the affected segment, not the whole process. #. type: Plain text -#: build/C/man2/subpage_prot.2:120 +#: build/C/man2/subpage_prot.2:128 msgid "" "This system call is provided to assist writing emulators that operate using " "64-kB pages on PowerPC systems. When emulating systems such as x86, which " @@ -8256,13 +8796,13 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:123 -msgid "B(2), B(2);" +#: build/C/man2/subpage_prot.2:131 +msgid "B(2), B(2)" msgstr "" #. type: Plain text -#: build/C/man2/subpage_prot.2:126 -msgid "the kernel source file I." +#: build/C/man2/subpage_prot.2:134 +msgid "I in the Linux kernel source tree" msgstr "" #. type: TH @@ -8271,6 +8811,12 @@ msgstr "" msgid "SYNC_FILE_RANGE" msgstr "" +#. type: TH +#: build/C/man2/sync_file_range.2:30 +#, no-wrap +msgid "2014-08-19" +msgstr "" + #. type: Plain text #: build/C/man2/sync_file_range.2:33 msgid "sync_file_range - sync a file segment with disk" @@ -8374,12 +8920,12 @@ msgid "" "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) 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) 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 "" #. type: SS @@ -8481,7 +9027,7 @@ msgid "Out of disk space." msgstr "" #. FIXME . (bug?) Actually, how can 'fd' refer to a symbolic link (S_ISLNK)? -#. (In userspace at least) it isn't possible to obtain a file descriptor +#. (In user space at least) it isn't possible to obtain a file descriptor #. for a symbolic link. #. type: Plain text #: build/C/man2/sync_file_range.2:177 @@ -8502,20 +9048,26 @@ msgid "" "programs." msgstr "" +#. type: SS +#: build/C/man2/sync_file_range.2:184 +#, no-wrap +msgid "sync_file_range2()" +msgstr "" + #. See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622 #. type: Plain text -#: build/C/man2/sync_file_range.2:196 +#: build/C/man2/sync_file_range.2:201 msgid "" "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() is flawed, since it forces a register to be wasted " -"as padding between the I and I arguments. Therefore, these " -"architectures define a different system call that orders the arguments " -"suitably:" +"of B() shown in the SYNOPSIS would force a register to be " +"wasted as padding between the I and I arguments. (See " +"B(2) for details.) Therefore, these architectures define a " +"different system call that orders the arguments suitably:" msgstr "" #. type: Plain text -#: build/C/man2/sync_file_range.2:201 +#: build/C/man2/sync_file_range.2:206 #, no-wrap msgid "" "BIB<, unsigned int >IB<,>\n" @@ -8523,14 +9075,14 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sync_file_range.2:206 +#: build/C/man2/sync_file_range.2:211 msgid "" "The behavior of this system call is otherwise exactly the same as " "B()." msgstr "" #. type: Plain text -#: build/C/man2/sync_file_range.2:217 +#: build/C/man2/sync_file_range.2:222 msgid "" "A system call with this signature first appeared on the ARM architecture in " "Linux 2.6.20, with the name B(). It was renamed in " @@ -8540,6 +9092,754 @@ msgid "" msgstr "" #. type: Plain text -#: build/C/man2/sync_file_range.2:222 +#: build/C/man2/sync_file_range.2:227 msgid "B(2), B(2), B(2), B(2)" msgstr "" + +#. type: TH +#: build/C/man2/memfd_create.2:21 +#, no-wrap +msgid "MEMFD_CREATE" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:24 +msgid "memfd_create - create an anonymous file" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:26 +msgid "B<#include Esys/memfd.hE>" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:28 +msgid "BIB<, unsigned int >IB<);>" +msgstr "" + +#. David Herrmann: +#. memfd uses VM_NORESERVE so each page is accounted on first access. +#. This means, the overcommit-limits (see __vm_enough_memory()) and the +#. memory-cgroup limits (mem_cgroup_try_charge()) are applied. Note that +#. those are accounted on "current" and "current->mm", that is, the +#. process doing the first page access. +#. type: Plain text +#: build/C/man2/memfd_create.2:51 +msgid "" +"B() creates an anonymous file and returns a file descriptor " +"that refers to it. The file behaves like a regular file, and so can be " +"modified, truncated, memory-mapped, and so on. However, unlike a regular " +"file, it lives in RAM and has a volatile backing storage. Once all " +"references to the file are dropped, it is automatically released. Anonymous " +"memory is used for all backing pages of the file. Therefore, files created " +"by B() have the same semantics as other anonymous memory " +"allocations such as those allocated using B(2) with the " +"B flag." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:58 +msgid "" +"The initial size of the file is set to 0. Following the call, the file size " +"should be set using B(2). (Alternatively, the file may be " +"populated by calls to B(2) or similar.)" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:69 +msgid "" +"The name supplied in I is used as a filename and will be displayed as " +"the target of the corresponding symbolic link in the directory " +"I. The displayed name is always prefixed with I and " +"serves only for debugging purposes. Names do not affect the behavior of the " +"file descriptor, and as such multiple files can have the same name without " +"any side effects." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:74 +msgid "" +"The following values may be bitwise ORed in I to change the behaviour " +"of B():" +msgstr "" + +#. type: TP +#: build/C/man2/memfd_create.2:74 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:84 +msgid "" +"Set the close-on-exec (B) flag on the new file descriptor. See " +"the description of the B flag in B(2) for reasons why this " +"may be useful." +msgstr "" + +#. type: TP +#: build/C/man2/memfd_create.2:84 +#, no-wrap +msgid "B" +msgstr "" + +#. FIXME Why is the MFD_ALLOW_SEALING behavior not simply the default? +#. Is it worth adding some text explaining this? +#. type: Plain text +#: build/C/man2/memfd_create.2:100 +msgid "" +"Allow sealing operations on this file. See the discussion of the " +"B and B operations in B(2), and also NOTES, " +"below. The initial set of seals is empty. If this flag is not set, the " +"initial set of seals will be B, meaning that no other seals can " +"be set on the file." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:104 +msgid "Unused bits in I must be 0." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:113 +msgid "" +"As its return value, B() returns a new file descriptor that " +"can be used to refer to the file. This file descriptor is opened for both " +"reading and writing (B) and B is set for the " +"descriptor." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:126 +msgid "" +"With respect to B(2) and B(2), the usual semantics apply for " +"the file descriptor created by B(). A copy of the file " +"descriptor is inherited by the child produced by B(2) and refers to " +"the same file. The file descriptor is preserved across B(2), unless " +"the close-on-exec flag has been set." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:133 +msgid "" +"On success, B() returns a new file descriptor. On error, -1 " +"is returned and I is set to indicate the error." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:139 +msgid "The address in I points to invalid memory." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:146 +msgid "" +"An unsupported value was specified in one of the arguments: I " +"included unknown bits, or I was too long." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:149 +msgid "The per-process limit on open file descriptors has been reached." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:152 +msgid "The system-wide limit on the total number of open files has been reached." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:155 +msgid "There was insufficient memory to create a new anonymous file." +msgstr "" + +#. FIXME . When glibc support appears, update the following sentence: +#. type: Plain text +#: build/C/man2/memfd_create.2:161 +msgid "" +"The B() system call first appeared in Linux 3.17. Support in " +"the GNU C library is pending." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:165 +msgid "The B() system call is Linux-specific." +msgstr "" + +#. See also http://lwn.net/Articles/593918/ +#. and http://lwn.net/Articles/594919/ and http://lwn.net/Articles/591108/ +#. type: Plain text +#: build/C/man2/memfd_create.2:178 +msgid "" +"The B() system call provides a simple alternative to manually " +"mounting a I filesystem and creating and opening a file in that " +"filesystem. The primary purpose of B() is to create files " +"and associated file descriptors that are used with the file-sealing APIs " +"provided by B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:192 +msgid "" +"The B() system call also has uses without file sealing (which " +"is why file-sealing is disabled, unless explicitly requested with the " +"B flag). In particular, it can be used as an alternative " +"to creating files in I or as an alternative to using the B(2) " +"B in cases where there is no intention to actually link the " +"resulting file into the filesystem." +msgstr "" + +#. type: SS +#: build/C/man2/memfd_create.2:192 +#, no-wrap +msgid "File sealing" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:210 +msgid "" +"In the absence of file sealing, processes that communicate via shared memory " +"must either trust each other, or take measures to deal with the possibility " +"that an untrusted peer may manipulate the shared memory region in " +"problematic ways. For example, an untrusted peer might modify the contents " +"of the shared memory at any time, or shrink the shared memory region. The " +"former possibility leaves the local process vulnerable to " +"time-of-check-to-time-of-use race conditions (typically dealt with by " +"copying data from the shared memory region before checking and using it). " +"The latter possibility leaves the local process vulnerable to B " +"signals when an attempt is made to access a now-nonexistent location in the " +"shared memory region. (Dealing with this possibility necessitates the use " +"of a handler for the B signal.)" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:216 +msgid "" +"Dealing with untrusted peers imposes extra complexity on code that employs " +"shared memory. Memory sealing enables that extra complexity to be " +"eliminated, by allowing a process to operate secure in the knowledge that " +"its peer can't modify the shared memory in an undesired fashion." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:218 +msgid "An example of the usage of the sealing mechanism is as follows:" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:225 +msgid "" +"The first process creates a I file using B(). The call " +"yields a file descriptor used in subsequent steps." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:232 +msgid "" +"The first process sizes the file created in the previous step using " +"B(2), maps it using B(2), and populates the shared memory " +"with the desired data." +msgstr "" + +#. type: IP +#: build/C/man2/memfd_create.2:232 +#, no-wrap +msgid "3." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:242 +msgid "" +"The first process uses the B(2) B operation to place " +"one or more seals on the file, in order to restrict further modifications on " +"the file. (If placing the seal B, then it will be necessary " +"to first unmap the shared writable mapping created in the previous step.)" +msgstr "" + +#. type: IP +#: build/C/man2/memfd_create.2:242 +#, no-wrap +msgid "4." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:247 +msgid "" +"A second process obtains a file descriptor for the I file and maps " +"it. Among the possible ways in which this could happen are the following:" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:258 +msgid "" +"The process that called B() could transfer the resulting file " +"descriptor to the second process via a UNIX domain socket (see B(7) " +"and B(3)). The second process then maps the file using B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:266 +msgid "" +"The second process is created via B(2) and thus automatically " +"inherits the file descriptor and mapping. (Note that in this case and the " +"next, there is a natural trust relationship between the two processes, since " +"they are running under the same user ID. Therefore, file sealing would not " +"normally be necessary.)" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:280 +msgid "" +"The second process opens the file IpdE/fd/EfdE>, " +"where IpidE> is the PID of the first process (the one that called " +"B()), and IfdE> is the number of the file descriptor " +"returned by the call to B() in that process. The second " +"process then maps the file using B(2)." +msgstr "" + +#. type: IP +#: build/C/man2/memfd_create.2:281 +#, no-wrap +msgid "5." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:293 +msgid "" +"The second process uses the B(2) B operation to " +"retrieve the bit mask of seals that has been applied to the file. This bit " +"mask can be inspected in order to determine what kinds of restrictions have " +"been placed on file modifications. If desired, the second process can apply " +"further seals to impose additional restrictions (so long as the " +"B seal has not yet been applied)." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:297 +msgid "" +"Below are shown two example programs that demonstrate the use of " +"B() and the file sealing API." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:312 +msgid "" +"The first program, I, creates a I file using " +"B(), sets a size for the file, maps it into memory, and " +"optionally places some seals on the file. The program accepts up to three " +"command-line arguments, of which the first two are required. The first " +"argument is the name to associate with the file, the second argument is the " +"size to be set for the file, and the optional third is a string of " +"characters that specify seals to be set on file." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:318 +msgid "" +"The second program, I, can be used to open an existing file " +"that was created via B() and inspect the set of seals that " +"have been applied to that file." +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:323 +msgid "" +"The following shell session demonstrates the use of these programs. First " +"we create a I file and set some seals on it:" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:329 +#, no-wrap +msgid "" +"$ B<./t_memfd_create my_memfd_file 4096 sw &>\n" +"[1] 11775\n" +"PID: 11775; fd: 3; /proc/11775/fd/3\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:347 +msgid "" +"At this point, the I program continues to run in the " +"background. From another program, we can obtain a file descriptor for the " +"file created by B() by opening the I file that " +"corresponds to the descriptor opened by B(). Using that " +"pathname, we inspect the content of the I symbolic link, and " +"use our I program to view the seals that have been placed on " +"the file:" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:354 +#, no-wrap +msgid "" +"$ B\n" +"/memfd:my_memfd_file (deleted)\n" +"$ B<./t_get_seals /proc/11775/fd/3>\n" +"Existing seals: WRITE SHRINK\n" +msgstr "" + +#. type: SS +#: build/C/man2/memfd_create.2:356 +#, no-wrap +msgid "Program source: t_memfd_create.c" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:365 +#, no-wrap +msgid "" +"#include Esys/memfd.hE\n" +"#include Efcntl.hE\n" +"#include Estdlib.hE\n" +"#include Eunistd.hE\n" +"#include Estring.hE\n" +"#include Estdio.hE\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:377 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" unsigned int seals;\n" +" char *addr;\n" +" char *name, *seals_arg;\n" +" ssize_t len;\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:388 +#, no-wrap +msgid "" +" if (argc E 3) {\n" +" fprintf(stderr, \"%s name size [seals]\\en\", argv[0]);\n" +" fprintf(stderr, \"\\et\\(aqseals\\(aq can contain any of the \"\n" +" \"following characters:\\en\");\n" +" fprintf(stderr, \"\\et\\etg - F_SEAL_GROW\\en\");\n" +" fprintf(stderr, \"\\et\\ets - F_SEAL_SHRINK\\en\");\n" +" fprintf(stderr, \"\\et\\etw - F_SEAL_WRITE\\en\");\n" +" fprintf(stderr, \"\\et\\etS - F_SEAL_SEAL\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:392 +#, no-wrap +msgid "" +" name = argv[1];\n" +" len = atoi(argv[2]);\n" +" seals_arg = argv[3];\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:395 +#, no-wrap +msgid "" +" /* Create an anonymous file in tmpfs; allow seals to be\n" +" placed on the file */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:399 +#, no-wrap +msgid "" +" fd = memfd_create(name, MFD_ALLOW_SEALING);\n" +" if (fd == -1)\n" +" errExit(\"memfd_create\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:401 +#, no-wrap +msgid " /* Size the file as specified on the command line */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:404 +#, no-wrap +msgid "" +" if (ftruncate(fd, len) == -1)\n" +" errExit(\"truncate\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:407 +#, no-wrap +msgid "" +" printf(\"PID: %ld; fd: %d; /proc/%ld/fd/%d\\en\",\n" +" (long) getpid(), fd, (long) getpid(), fd);\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:410 +#, no-wrap +msgid "" +" /* Code to map the file and populate the mapping with data\n" +" omitted */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:413 +#, no-wrap +msgid "" +" /* If a \\(aqseals\\(aq command-line argument was supplied, set some\n" +" seals on the file */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:416 +#, no-wrap +msgid "" +" if (seals_arg != NULL) {\n" +" seals = 0;\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:425 +#, no-wrap +msgid "" +" if (strchr(seals_arg, \\(aqg\\(aq) != NULL)\n" +" seals |= F_SEAL_GROW;\n" +" if (strchr(seals_arg, \\(aqs\\(aq) != NULL)\n" +" seals |= F_SEAL_SHRINK;\n" +" if (strchr(seals_arg, \\(aqw\\(aq) != NULL)\n" +" seals |= F_SEAL_WRITE;\n" +" if (strchr(seals_arg, \\(aqS\\(aq) != NULL)\n" +" seals |= F_SEAL_SEAL;\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:429 +#, no-wrap +msgid "" +" if (fcntl(fd, F_ADD_SEALS, seals) == -1)\n" +" errExit(\"fcntl\");\n" +" }\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:432 +#, no-wrap +msgid "" +" /* Keep running, so that the file created by memfd_create()\n" +" continues to exist */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:434 +#, no-wrap +msgid " pause();\n" +msgstr "" + +#. type: SS +#: build/C/man2/memfd_create.2:438 +#, no-wrap +msgid "Program source: t_get_seals.c" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:447 +#, no-wrap +msgid "" +"#include Esys/memfd.hE\n" +"#include Efcntl.hE\n" +"#include Eunistd.hE\n" +"#include Estdlib.hE\n" +"#include Estring.hE\n" +"#include Estdio.hE\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:456 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" unsigned int seals;\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:461 +#, no-wrap +msgid "" +" if (argc != 2) {\n" +" fprintf(stderr, \"%s /proc/PID/fd/FD\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:465 +#, no-wrap +msgid "" +" fd = open(argv[1], O_RDWR);\n" +" if (fd == -1)\n" +" errExit(\"open\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:469 +#, no-wrap +msgid "" +" seals = fcntl(fd, F_GET_SEALS);\n" +" if (seals == -1)\n" +" errExit(\"fcntl\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:480 +#, no-wrap +msgid "" +" printf(\"Existing seals:\");\n" +" if (seals & F_SEAL_SEAL)\n" +" printf(\" SEAL\");\n" +" if (seals & F_SEAL_GROW)\n" +" printf(\" GROW\");\n" +" if (seals & F_SEAL_WRITE)\n" +" printf(\" WRITE\");\n" +" if (seals & F_SEAL_SHRINK)\n" +" printf(\" SHRINK\");\n" +" printf(\"\\en\");\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:483 +#, no-wrap +msgid "" +" /* Code to map the file and access the contents of the\n" +" resulting mapping omitted */\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/memfd_create.2:493 +msgid "B(2), B(2), B(2), B(2), B(3)" +msgstr "" + +#. type: TH +#: build/C/man2/s390_pci_mmio_write.2:25 +#, no-wrap +msgid "S390_PCI_MMIO_WRITE" +msgstr "" + +#. type: TH +#: build/C/man2/s390_pci_mmio_write.2:25 +#, no-wrap +msgid "2015-01-15" +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:29 +msgid "" +"s390_pci_mmio_write, s390_pci_mmio_read - transfer data to/from PCI MMIO " +"memory page" +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:32 +#, no-wrap +msgid "B<#include Easm/unistd.hE>\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:35 +#, no-wrap +msgid "" +"BIB<,>\n" +"B< void *>IB<, size_t >IB<);>\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:38 +#, no-wrap +msgid "" +"BIB<,>\n" +"B< void *>IB<, size_t >IB<);>\n" +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:57 +msgid "" +"The B() system call writes I bytes of data " +"from the user-space buffer I to the PCI MMIO memory location " +"specified by I. The B() system call reads " +"I bytes of data from the PCI MMIO memory location specified by " +"I to the user-space buffer I." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:68 +msgid "" +"These system calls must be used instead of the simple assignment or " +"data-transfer operations that are used to access the PCI MMIO memory areas " +"mapped to user space on the Linux System z platform. The address specified " +"by I must belong to a PCI MMIO memory page mapping in the " +"caller's address space, and the data being written or read must not cross a " +"page boundary. The I value cannot be greater than the system page " +"size." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:77 +msgid "" +"On success, B() and B() return " +"0. On error, -1 is returned and I is set to one of the error codes " +"listed below." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:83 +msgid "The address in I is invalid." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:87 +msgid "" +"I does not point to a valid location in the caller's address " +"space." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:92 +msgid "Invalid I argument." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:95 +msgid "PCI support is not enabled." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:98 +msgid "Insufficient memory." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:100 +msgid "These system calls are available since Linux 3.19." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:103 +msgid "" +"This Linux-specific system call is available only on the s390 architecture. " +"The required PCI support is available beginning with System z EC12." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:107 +msgid "" +"Glibc does not provide a wrapper for this system call, use B(2) to " +"call it." +msgstr "" + +#. type: Plain text +#: build/C/man2/s390_pci_mmio_write.2:109 +msgid "B(2)" +msgstr ""