msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-03-22 04:26+0900\n"
-"PO-Revision-Date: 2012-03-22 00:52+0900\n"
+"POT-Creation-Date: 2013-04-30 20:30+0900\n"
+"PO-Revision-Date: 2013-03-25 19:43+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: TH
#: build/C/man3/sem_close.3:26 build/C/man3/sem_destroy.3:26
-#: build/C/man3/sem_getvalue.3:26 build/C/man3/sem_unlink.3:26
+#: build/C/man3/sem_getvalue.3:26 build/C/man3/sem_init.3:26
+#: build/C/man3/sem_open.3:26 build/C/man7/sem_overview.7:26
+#: build/C/man3/sem_post.3:26 build/C/man3/sem_unlink.3:26
+#: build/C/man3/sem_wait.3:26
#, no-wrap
-msgid "2006-03-25"
-msgstr "2006-03-25"
+msgid "2012-05-13"
+msgstr "2012-05-13"
#. type: TH
#: build/C/man3/sem_close.3:26 build/C/man3/sem_destroy.3:26
#: build/C/man3/sem_getvalue.3:26 build/C/man3/sem_init.3:26
#: build/C/man3/sem_open.3:26 build/C/man7/sem_overview.7:26
#: build/C/man3/sem_post.3:26 build/C/man3/sem_unlink.3:26
-#: build/C/man3/sem_wait.3:26 build/C/man2/semctl.2:39
-#: build/C/man2/semget.2:34 build/C/man2/semop.2:33
+#: build/C/man3/sem_wait.3:26 build/C/man2/semctl.2:41
+#: build/C/man2/semget.2:36 build/C/man2/semop.2:35
#, no-wrap
msgid "Linux"
msgstr "Linux"
#: build/C/man3/sem_getvalue.3:26 build/C/man3/sem_init.3:26
#: build/C/man3/sem_open.3:26 build/C/man7/sem_overview.7:26
#: build/C/man3/sem_post.3:26 build/C/man3/sem_unlink.3:26
-#: build/C/man3/sem_wait.3:26 build/C/man2/semctl.2:39
-#: build/C/man2/semget.2:34 build/C/man2/semop.2:33
+#: build/C/man3/sem_wait.3:26 build/C/man2/semctl.2:41
+#: build/C/man2/semget.2:36 build/C/man2/semop.2:35
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"
#: build/C/man3/sem_getvalue.3:27 build/C/man3/sem_init.3:27
#: build/C/man3/sem_open.3:27 build/C/man7/sem_overview.7:27
#: build/C/man3/sem_post.3:27 build/C/man3/sem_unlink.3:27
-#: build/C/man3/sem_wait.3:27 build/C/man2/semctl.2:40
-#: build/C/man2/semget.2:35 build/C/man2/semop.2:34
+#: build/C/man3/sem_wait.3:27 build/C/man2/semctl.2:42
+#: build/C/man2/semget.2:37 build/C/man2/semop.2:36
#, no-wrap
msgid "NAME"
msgstr "名前"
#: build/C/man3/sem_getvalue.3:29 build/C/man3/sem_init.3:29
#: build/C/man3/sem_open.3:29 build/C/man3/sem_post.3:29
#: build/C/man3/sem_unlink.3:29 build/C/man3/sem_wait.3:29
-#: build/C/man2/semctl.2:42 build/C/man2/semget.2:37 build/C/man2/semop.2:36
+#: build/C/man2/semctl.2:44 build/C/man2/semget.2:39 build/C/man2/semop.2:38
#, no-wrap
msgid "SYNOPSIS"
msgstr "書式"
#: build/C/man3/sem_getvalue.3:37 build/C/man3/sem_init.3:37
#: build/C/man3/sem_open.3:41 build/C/man3/sem_post.3:37
#: build/C/man3/sem_unlink.3:37 build/C/man3/sem_wait.3:41
-msgid "Link with I<-lrt> or I<-pthread>."
-msgstr "I<-lrt> または I<-pthread> でリンクする。"
+msgid "Link with I<-pthread>."
+msgstr "I<-pthread> とリンクする。"
#. type: SH
#: build/C/man3/sem_close.3:37 build/C/man3/sem_destroy.3:37
#: build/C/man3/sem_getvalue.3:37 build/C/man3/sem_init.3:37
#: build/C/man3/sem_open.3:41 build/C/man7/sem_overview.7:29
#: build/C/man3/sem_post.3:37 build/C/man3/sem_unlink.3:37
-#: build/C/man3/sem_wait.3:49 build/C/man2/semctl.2:50
-#: build/C/man2/semget.2:47 build/C/man2/semop.2:55
+#: build/C/man3/sem_wait.3:49 build/C/man2/semctl.2:52
+#: build/C/man2/semget.2:49 build/C/man2/semop.2:57
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"
#: build/C/man3/sem_getvalue.3:54 build/C/man3/sem_init.3:77
#: build/C/man3/sem_open.3:104 build/C/man3/sem_post.3:45
#: build/C/man3/sem_unlink.3:44 build/C/man3/sem_wait.3:108
-#: build/C/man2/semctl.2:338 build/C/man2/semget.2:155
+#: build/C/man2/semctl.2:340 build/C/man2/semget.2:157
#: build/C/man2/semop.2:309
#, no-wrap
msgid "RETURN VALUE"
#: build/C/man3/sem_getvalue.3:60 build/C/man3/sem_init.3:83
#: build/C/man3/sem_open.3:116 build/C/man3/sem_post.3:52
#: build/C/man3/sem_unlink.3:50 build/C/man3/sem_wait.3:114
-#: build/C/man2/semctl.2:385 build/C/man2/semget.2:161
+#: build/C/man2/semctl.2:387 build/C/man2/semget.2:163
#: build/C/man2/semop.2:319
#, no-wrap
msgid "ERRORS"
#: build/C/man3/sem_getvalue.3:61 build/C/man3/sem_init.3:84
#: build/C/man3/sem_open.3:132 build/C/man3/sem_open.3:137
#: build/C/man3/sem_post.3:53 build/C/man3/sem_wait.3:119
-#: build/C/man3/sem_wait.3:133 build/C/man2/semctl.2:418
-#: build/C/man2/semget.2:186 build/C/man2/semop.2:367
+#: build/C/man3/sem_wait.3:133 build/C/man2/semctl.2:420
+#: build/C/man2/semget.2:188 build/C/man2/semop.2:367
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
#: build/C/man3/sem_getvalue.3:65 build/C/man3/sem_init.3:95
#: build/C/man3/sem_open.3:170 build/C/man7/sem_overview.7:138
#: build/C/man3/sem_post.3:61 build/C/man3/sem_unlink.3:62
-#: build/C/man3/sem_wait.3:143 build/C/man2/semctl.2:460
-#: build/C/man2/semget.2:217 build/C/man2/semop.2:397
+#: build/C/man3/sem_wait.3:143 build/C/man2/semctl.2:462
+#: build/C/man2/semget.2:219 build/C/man2/semop.2:397
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
#: build/C/man3/sem_close.3:56 build/C/man3/sem_destroy.3:68
#: build/C/man3/sem_getvalue.3:67 build/C/man3/sem_init.3:97
#: build/C/man7/sem_overview.7:140 build/C/man3/sem_post.3:63
-#: build/C/man3/sem_wait.3:145 build/C/man2/semctl.2:463
-#: build/C/man2/semget.2:221 build/C/man2/semop.2:400
+#: build/C/man3/sem_wait.3:145 build/C/man2/semctl.2:465
+#: build/C/man2/semget.2:223 build/C/man2/semop.2:400
#, no-wrap
msgid "NOTES"
msgstr "注意"
#: build/C/man3/sem_getvalue.3:71 build/C/man3/sem_init.3:102
#: build/C/man3/sem_open.3:172 build/C/man7/sem_overview.7:152
#: build/C/man3/sem_post.3:70 build/C/man3/sem_unlink.3:64
-#: build/C/man3/sem_wait.3:262 build/C/man2/semctl.2:509
-#: build/C/man2/semget.2:279 build/C/man2/semop.2:513
+#: build/C/man3/sem_wait.3:262 build/C/man2/semctl.2:524
+#: build/C/man2/semget.2:294 build/C/man2/semop.2:536
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#: build/C/man3/sem_getvalue.3:75 build/C/man3/sem_init.3:107
#: build/C/man3/sem_open.3:179 build/C/man7/sem_overview.7:162
#: build/C/man3/sem_post.3:74 build/C/man3/sem_unlink.3:70
-#: build/C/man3/sem_wait.3:268 build/C/man2/semctl.2:516
-#: build/C/man2/semget.2:286 build/C/man2/semop.2:521
+#: build/C/man3/sem_wait.3:268 build/C/man2/semctl.2:531
+#: build/C/man2/semget.2:301 build/C/man2/semop.2:545
#, no-wrap
msgid "COLOPHON"
-msgstr ""
+msgstr "この文書について"
#. type: Plain text
#: build/C/man3/sem_close.3:74 build/C/man3/sem_destroy.3:86
#: build/C/man3/sem_getvalue.3:82 build/C/man3/sem_init.3:114
#: build/C/man3/sem_open.3:186 build/C/man7/sem_overview.7:169
#: build/C/man3/sem_post.3:81 build/C/man3/sem_unlink.3:77
-#: build/C/man3/sem_wait.3:275 build/C/man2/semctl.2:523
-#: build/C/man2/semget.2:293 build/C/man2/semop.2:528
+#: build/C/man3/sem_wait.3:275 build/C/man2/semctl.2:538
+#: build/C/man2/semget.2:308 build/C/man2/semop.2:552
+#, fuzzy
+#| msgid ""
+#| "This page is part of release 3.50 of the Linux I<man-pages> project. A "
+#| "description of the project, and information about reporting bugs, can be "
+#| "found at http://www.kernel.org/doc/man-pages/."
msgid ""
-"This page is part of release 3.37 of the Linux I<man-pages> project. A "
+"This page is part of release 3.51 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.50 の一部\n"
+"である。プロジェクトの説明とバグ報告に関する情報は\n"
+"http://www.kernel.org/doc/man-pages/ に書かれている。"
#. type: TH
#: build/C/man3/sem_destroy.3:26
msgid "SEM_INIT"
msgstr "SEM_INIT"
-#. type: TH
-#: build/C/man3/sem_init.3:26
-#, no-wrap
-msgid "2008-07-27"
-msgstr "2008-07-27"
-
#. type: Plain text
#: build/C/man3/sem_init.3:29
msgid "sem_init - initialize an unnamed semaphore"
msgid "SEM_OPEN"
msgstr "SEM_OPEN"
-#. type: TH
-#: build/C/man3/sem_open.3:26
-#, no-wrap
-msgid "2009-02-20"
-msgstr "2009-02-20"
-
#. type: Plain text
#: build/C/man3/sem_open.3:29
msgid "sem_open - initialize and open a named semaphore"
#. type: TP
#: build/C/man3/sem_open.3:117 build/C/man3/sem_unlink.3:51
-#: build/C/man2/semctl.2:389 build/C/man2/semget.2:165
+#: build/C/man2/semctl.2:391 build/C/man2/semget.2:167
#: build/C/man2/semop.2:331
#, no-wrap
msgid "B<EACCES>"
"い。"
#. type: TP
-#: build/C/man3/sem_open.3:121 build/C/man2/semget.2:173
+#: build/C/man3/sem_open.3:121 build/C/man2/semget.2:175
#, no-wrap
msgid "B<EEXIST>"
msgstr "B<EEXIST>"
#. type: TP
#: build/C/man3/sem_open.3:151 build/C/man3/sem_unlink.3:58
-#: build/C/man2/semget.2:197
+#: build/C/man2/semget.2:199
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"
"ではなかった。"
#. type: TP
-#: build/C/man3/sem_open.3:167 build/C/man2/semget.2:205
+#: build/C/man3/sem_open.3:167 build/C/man2/semget.2:207
#: build/C/man2/semop.2:374
#, no-wrap
msgid "B<ENOMEM>"
msgid "SEM_OVERVIEW"
msgstr "SEM_OVERVIEW"
-#. type: TH
-#: build/C/man7/sem_overview.7:26
-#, no-wrap
-msgid "2010-05-22"
-msgstr "2010-05-22"
-
#. type: Plain text
#: build/C/man7/sem_overview.7:29
-msgid "sem_overview - Overview of POSIX semaphores"
+msgid "sem_overview - overview of POSIX semaphores"
msgstr "sem_overview - POSIX セマフォの概要"
#. type: Plain text
#. type: Plain text
#: build/C/man7/sem_overview.7:114
+#, fuzzy
+#| msgid ""
+#| "Prior to kernel 2.6, Linux only supported unnamed, thread-shared "
+#| "semaphores. On a system with Linux 2.6 and a glibc that provides the "
+#| "NPTL threading implementation, a complete implementation of POSIX "
+#| "semaphores is provided."
msgid ""
-"Prior to kernel 2.6, Linux only supported unnamed, thread-shared "
+"Prior to kernel 2.6, Linux supported only unnamed, thread-shared "
"semaphores. On a system with Linux 2.6 and a glibc that provides the NPTL "
"threading implementation, a complete implementation of POSIX semaphores is "
"provided."
#. type: Plain text
#: build/C/man7/sem_overview.7:124
msgid ""
-"Programs using the POSIX semaphores API must be compiled with I<cc -lrt> to "
-"link against the real-time library, I<librt>."
+"Programs using the POSIX semaphores API must be compiled with I<cc -pthread> "
+"to link against the real-time library, I<librt>."
msgstr ""
-"POSIX セマフォ API を使用したプログラムは I<cc -lrt> でコンパイルし、リアルタ"
-"イムライブラリ I<librt> とリンクしなければならない。"
+"POSIX セマフォ API を使用したプログラムは I<cc -pthread> でコンパイルし、リア"
+"ã\83«ã\82¿ã\82¤ã\83 ã\83©ã\82¤ã\83\96ã\83©ã\83ª I<librt> ã\81¨ã\83ªã\83³ã\82¯ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
#. type: SS
#: build/C/man7/sem_overview.7:124
#. type: SH
#: build/C/man7/sem_overview.7:149 build/C/man3/sem_post.3:67
-#: build/C/man3/sem_wait.3:153 build/C/man2/semop.2:488
+#: build/C/man3/sem_wait.3:153 build/C/man2/semop.2:511
#, no-wrap
msgid "EXAMPLE"
msgstr "例"
msgid "SEM_POST"
msgstr "SEM_POST"
-#. type: TH
-#: build/C/man3/sem_post.3:26
-#, no-wrap
-msgid "2009-03-30"
-msgstr "2009-03-30"
-
#. type: Plain text
#: build/C/man3/sem_post.3:29
msgid "sem_post - unlock a semaphore"
msgid "SEM_WAIT"
msgstr "SEM_WAIT"
-#. type: TH
-#: build/C/man3/sem_wait.3:26
-#, fuzzy, no-wrap
-#| msgid "2010-02-25"
-msgid "2012-02-12"
-msgstr "2010-02-25"
-
#. type: Plain text
#: build/C/man3/sem_wait.3:29
msgid "sem_wait, sem_timedwait, sem_trywait - lock a semaphore"
msgstr "B<int sem_timedwait(sem_t *>I<sem>B<, const struct timespec *>I<abs_timeout>B<);>\n"
#. type: Plain text
-#: build/C/man3/sem_wait.3:45 build/C/man2/semop.2:51
+#: build/C/man3/sem_wait.3:45 build/C/man2/semop.2:53
msgid ""
"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
#. type: Plain text
#: build/C/man3/sem_wait.3:182
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$B< ./a.out 2 3>\n"
-#| "About to call sem_timedwait()\n"
-#| "sem_post() from handler\n"
-#| "sem_getvalue() from handler; value = 1\n"
-#| "sem_timedwait() succeeded\n"
-#| "$B< ./a.out 2 1>\n"
-#| "About to call sem_timedwait()\n"
-#| "sem_timedwait() timed out\n"
+#, no-wrap
msgid ""
"$B< ./a.out 2 3>\n"
"About to call sem_timedwait()\n"
"$B< ./a.out 2 3>\n"
"About to call sem_timedwait()\n"
"sem_post() from handler\n"
-"sem_getvalue() from handler; value = 1\n"
"sem_timedwait() succeeded\n"
"$B< ./a.out 2 1>\n"
"About to call sem_timedwait()\n"
"B<time>(7)"
#. type: TH
-#: build/C/man2/semctl.2:39
+#: build/C/man2/semctl.2:41
#, no-wrap
msgid "SEMCTL"
msgstr "SEMCTL"
#. type: TH
-#: build/C/man2/semctl.2:39
+#: build/C/man2/semctl.2:41 build/C/man2/semget.2:36
#, no-wrap
-msgid "2009-09-27"
-msgstr "2009-09-27"
+msgid "2012-05-31"
+msgstr "2012-05-31"
#. type: Plain text
-#: build/C/man2/semctl.2:42
-msgid "semctl - semaphore control operations"
+#: build/C/man2/semctl.2:44
+#, fuzzy
+#| msgid "semctl - semaphore control operations"
+msgid "semctl - System V semaphore control operations"
msgstr "semctl - セマフォの制御操作を行なう"
#. type: Plain text
-#: build/C/man2/semctl.2:47 build/C/man2/semget.2:42 build/C/man2/semop.2:41
+#: build/C/man2/semctl.2:49 build/C/man2/semget.2:44 build/C/man2/semop.2:43
#, no-wrap
msgid ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>sys/sem.hE<gt>>\n"
#. type: Plain text
-#: build/C/man2/semctl.2:49
+#: build/C/man2/semctl.2:51
#, no-wrap
msgid "B<int semctl(int >I<semid>B<, int >I<semnum>B<, int >I<cmd>B<, ...);>\n"
msgstr "B<int semctl(int >I<semid>B<, int >I<semnum>B<, int >I<cmd>B<, ...);>\n"
#. type: Plain text
-#: build/C/man2/semctl.2:60
+#: build/C/man2/semctl.2:62
+#, fuzzy
+#| msgid ""
+#| "B<semctl>() performs the control operation specified by I<cmd> on the "
+#| "semaphore set identified by I<semid>, or on the I<semnum>-th semaphore of "
+#| "that set. (The semaphores in a set are numbered starting at 0.)"
msgid ""
"B<semctl>() performs the control operation specified by I<cmd> on the "
-"semaphore set identified by I<semid>, or on the I<semnum>-th semaphore of "
-"that set. (The semaphores in a set are numbered starting at 0.)"
+"System V semaphore set identified by I<semid>, or on the I<semnum>-th "
+"semaphore of that set. (The semaphores in a set are numbered starting at 0.)"
msgstr ""
"B<semctl>() は、 I<semid> で指定されたセマフォ集合 (semaphore set) またはセ"
"マフォ集合の I<semnun> 番目のセマフォに対して、 I<cmd> で指定された制御操作を"
"行なう (集合内のセマフォの番号は 0 から始まる)。"
#. type: Plain text
-#: build/C/man2/semctl.2:66
+#: build/C/man2/semctl.2:68
msgid ""
"This function has three or four arguments, depending on I<cmd>. When there "
"are four, the fourth has the type I<union semun>. The I<calling program> "
"は、 この共用体 (union) を以下のように定義しなければならない。"
#. type: Plain text
-#: build/C/man2/semctl.2:76
+#: build/C/man2/semctl.2:78
#, no-wrap
msgid ""
"union semun {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/semctl.2:82
+#: build/C/man2/semctl.2:84
msgid ""
"The I<semid_ds> data structure is defined in I<E<lt>sys/sem.hE<gt>> as "
"follows:"
"る:"
#. type: Plain text
-#: build/C/man2/semctl.2:91
+#: build/C/man2/semctl.2:93
#, no-wrap
msgid ""
"struct semid_ds {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/semctl.2:99
+#: build/C/man2/semctl.2:101
msgid ""
-"The I<ipc_perm> structure is defined in I<E<lt>sys/ipc.hE<gt>> as follows "
-"(the highlighted fields are settable using B<IPC_SET>):"
+"The I<ipc_perm> structure is defined as follows (the highlighted fields are "
+"settable using B<IPC_SET>):"
msgstr ""
-"I<ipc_perm> 構造体は I<E<lt>sys/ipc.hE<gt>> で以下のように定義されている (強"
-"調されたフィールドは B<IPC_SET> を使って設定可能である):"
+"I<ipc_perm> 構造体は以下のように定義されている (強調されたフィールドは "
+"B<IPC_SET> を使って設定可能である):"
#. type: Plain text
-#: build/C/man2/semctl.2:111
+#: build/C/man2/semctl.2:113
#, no-wrap
msgid ""
"struct ipc_perm {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/semctl.2:117
+#: build/C/man2/semctl.2:119
msgid "Valid values for I<cmd> are:"
msgstr "I<cmd> として有効な値は"
#. type: TP
-#: build/C/man2/semctl.2:117
+#: build/C/man2/semctl.2:119
#, no-wrap
msgid "B<IPC_STAT>"
msgstr "B<IPC_STAT>"
#. type: Plain text
-#: build/C/man2/semctl.2:129
+#: build/C/man2/semctl.2:131
msgid ""
"Copy information from the kernel data structure associated with I<semid> "
"into the I<semid_ds> structure pointed to by I<arg.buf>. The argument "
"ロセスはそのセマフォ集合に対する 読み込み許可を持たなければならない。"
#. type: TP
-#: build/C/man2/semctl.2:129
+#: build/C/man2/semctl.2:131
#, no-wrap
msgid "B<IPC_SET>"
msgstr "B<IPC_SET>"
#. type: Plain text
-#: build/C/man2/semctl.2:152
+#: build/C/man2/semctl.2:154
msgid ""
"Write the values of some members of the I<semid_ds> structure pointed to by "
"I<arg.buf> to the kernel data structure associated with this semaphore set, "
"る。"
#. type: TP
-#: build/C/man2/semctl.2:152
+#: build/C/man2/semctl.2:154
#, no-wrap
msgid "B<IPC_RMID>"
msgstr "B<IPC_RMID>"
#. type: Plain text
-#: build/C/man2/semctl.2:167
+#: build/C/man2/semctl.2:169
msgid ""
"Immediately remove the semaphore set, awakening all processes blocked in "
"B<semop>(2) calls on the set (with an error return and I<errno> set to "
"い。 I<semnum> 引き数は無視される。"
#. type: TP
-#: build/C/man2/semctl.2:167
+#: build/C/man2/semctl.2:169
#, no-wrap
msgid "B<IPC_INFO> (Linux-specific)"
msgstr "B<IPC_INFO> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/semctl.2:179
+#: build/C/man2/semctl.2:181
msgid ""
"Returns information about system-wide semaphore limits and parameters in the "
"structure pointed to by I<arg.__buf>. This structure is of type I<seminfo>, "
"のように定義される:"
#. type: Plain text
-#: build/C/man2/semctl.2:201
+#: build/C/man2/semctl.2:203
#, no-wrap
msgid ""
"struct seminfo {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/semctl.2:215
+#: build/C/man2/semctl.2:217
msgid ""
"The I<semmsl>, I<semmns>, I<semopm>, and I<semmni> settings can be changed "
"via I</proc/sys/kernel/sem>; see B<proc>(5) for details."
"由で変更可能である。 詳しくは B<proc>(5) を参照。"
#. type: TP
-#: build/C/man2/semctl.2:215
+#: build/C/man2/semctl.2:217
#, no-wrap
msgid "B<SEM_INFO> (Linux-specific)"
msgstr "B<SEM_INFO> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/semctl.2:229
+#: build/C/man2/semctl.2:231
msgid ""
"Returns a I<seminfo> structure containing the same information as for "
"B<IPC_INFO>, except that the following fields are returned with information "
"の総数を返す。"
#. type: TP
-#: build/C/man2/semctl.2:229
+#: build/C/man2/semctl.2:231
#, no-wrap
msgid "B<SEM_STAT> (Linux-specific)"
msgstr "B<SEM_STAT> (Linux 固有)"
#. type: Plain text
-#: build/C/man2/semctl.2:240
+#: build/C/man2/semctl.2:242
msgid ""
"Returns a I<semid_ds> structure as for B<IPC_STAT>. However, the I<semid> "
"argument is not a semaphore identifier, but instead an index into the "
"カーネルの内部配列へのインデックスである。"
#. type: TP
-#: build/C/man2/semctl.2:240
+#: build/C/man2/semctl.2:242
#, no-wrap
msgid "B<GETALL>"
msgstr "B<GETALL>"
#. type: Plain text
-#: build/C/man2/semctl.2:251
+#: build/C/man2/semctl.2:253
msgid ""
"Return B<semval> (i.e., the current value) for all semaphores of the set "
"into I<arg.array>. The argument I<semnum> is ignored. The calling process "
"許可を持たなければならない。"
#. type: TP
-#: build/C/man2/semctl.2:251 build/C/man2/semctl.2:349
+#: build/C/man2/semctl.2:253 build/C/man2/semctl.2:351
#, no-wrap
msgid "B<GETNCNT>"
msgstr "B<GETNCNT>"
#. type: Plain text
-#: build/C/man2/semctl.2:264
+#: build/C/man2/semctl.2:266
msgid ""
"The system call returns the value of B<semncnt> for the I<semnum>-th "
"semaphore of the set (i.e., the number of processes waiting for an increase "
"い。"
#. type: TP
-#: build/C/man2/semctl.2:264 build/C/man2/semctl.2:353
+#: build/C/man2/semctl.2:266 build/C/man2/semctl.2:355
#, no-wrap
msgid "B<GETPID>"
msgstr "B<GETPID>"
#. type: Plain text
-#: build/C/man2/semctl.2:277
+#: build/C/man2/semctl.2:279
msgid ""
"The system call returns the value of B<sempid> for the I<semnum>-th "
"semaphore of the set (i.e., the PID of the process that executed the last "
"ばならない。"
#. type: TP
-#: build/C/man2/semctl.2:277 build/C/man2/semctl.2:357
+#: build/C/man2/semctl.2:279 build/C/man2/semctl.2:359
#, no-wrap
msgid "B<GETVAL>"
msgstr "B<GETVAL>"
#. type: Plain text
-#: build/C/man2/semctl.2:285
+#: build/C/man2/semctl.2:287
msgid ""
"The system call returns the value of B<semval> for the I<semnum>-th "
"semaphore of the set. The calling process must have read permission on the "
"出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。"
#. type: TP
-#: build/C/man2/semctl.2:285 build/C/man2/semctl.2:361
+#: build/C/man2/semctl.2:287 build/C/man2/semctl.2:363
#, no-wrap
msgid "B<GETZCNT>"
msgstr "B<GETZCNT>"
#. type: Plain text
-#: build/C/man2/semctl.2:298
+#: build/C/man2/semctl.2:300
msgid ""
"The system call returns the value of B<semzcnt> for the I<semnum>-th "
"semaphore of the set (i.e., the number of processes waiting for B<semval> of "
"ばならない。"
#. type: TP
-#: build/C/man2/semctl.2:298
+#: build/C/man2/semctl.2:300
#, no-wrap
msgid "B<SETALL>"
msgstr "B<SETALL>"
#. type: Plain text
-#: build/C/man2/semctl.2:320
+#: build/C/man2/semctl.2:322
msgid ""
"Set B<semval> for all semaphores of the set using I<arg.array>, updating "
"also the I<sem_ctime> member of the I<semid_ds> structure associated with "
"はそのセマフォ集合に 変更 (書き込み) 許可を持たなければならない。"
#. type: TP
-#: build/C/man2/semctl.2:320
+#: build/C/man2/semctl.2:322
#, no-wrap
msgid "B<SETVAL>"
msgstr "B<SETVAL>"
#. type: Plain text
-#: build/C/man2/semctl.2:338
+#: build/C/man2/semctl.2:340
msgid ""
"Set the value of B<semval> to I<arg.val> for the I<semnum>-th semaphore of "
"the set, updating also the I<sem_ctime> member of the I<semid_ds> structure "
"セスはそのセマフォ集合に 変更 (書き込み) 許可を持たなければならない。"
#. type: Plain text
-#: build/C/man2/semctl.2:345
+#: build/C/man2/semctl.2:347
msgid "On failure B<semctl>() returns -1 with I<errno> indicating the error."
msgstr ""
"失敗した場合、 B<semctl>() は -1 を返し、 I<errno> にそのエラーを示す。"
#. type: Plain text
-#: build/C/man2/semctl.2:349
+#: build/C/man2/semctl.2:351
msgid ""
"Otherwise the system call returns a nonnegative value depending on I<cmd> as "
"follows:"
msgstr "そうでなければシステムコールは I<cmd> によって以下の負でない値を返す:"
#. type: Plain text
-#: build/C/man2/semctl.2:353
+#: build/C/man2/semctl.2:355
msgid "the value of B<semncnt>."
msgstr "B<semncnt> の値"
#. type: Plain text
-#: build/C/man2/semctl.2:357
+#: build/C/man2/semctl.2:359
msgid "the value of B<sempid>."
msgstr "B<sempid> の値"
#. type: Plain text
-#: build/C/man2/semctl.2:361
+#: build/C/man2/semctl.2:363
msgid "the value of B<semval>."
msgstr "B<semval> の値"
#. type: Plain text
-#: build/C/man2/semctl.2:365
+#: build/C/man2/semctl.2:367
msgid "the value of B<semzcnt>."
msgstr "B<semzcnt> の値"
#. type: TP
-#: build/C/man2/semctl.2:365
+#: build/C/man2/semctl.2:367
#, no-wrap
msgid "B<IPC_INFO>"
msgstr "B<IPC_INFO>"
#. type: Plain text
-#: build/C/man2/semctl.2:373
+#: build/C/man2/semctl.2:375
msgid ""
"the index of the highest used entry in the kernel's internal array recording "
"information about all semaphore sets. (This information can be used with "
"報を取得するために B<SEM_STAT> 操作を繰り返し実行する際に使用できる)"
#. type: TP
-#: build/C/man2/semctl.2:373
+#: build/C/man2/semctl.2:375
#, no-wrap
msgid "B<SEM_INFO>"
msgstr "B<SEM_INFO>"
#. type: Plain text
-#: build/C/man2/semctl.2:377
+#: build/C/man2/semctl.2:379
msgid "As for B<IPC_INFO>."
msgstr "B<IPC_INFO> と同じ"
#. type: TP
-#: build/C/man2/semctl.2:377
+#: build/C/man2/semctl.2:379
#, no-wrap
msgid "B<SEM_STAT>"
msgstr "B<SEM_STAT>"
#. type: Plain text
-#: build/C/man2/semctl.2:381
+#: build/C/man2/semctl.2:383
msgid "the identifier of the semaphore set whose index was given in I<semid>."
msgstr "I<semid> で指定されたインデックスを持つセマフォ集合の識別子"
#. type: Plain text
-#: build/C/man2/semctl.2:385
+#: build/C/man2/semctl.2:387
msgid "All other I<cmd> values return 0 on success."
msgstr "I<cmd> の値がそれ以外の場合、成功すると 0 が返される。"
#. type: Plain text
-#: build/C/man2/semctl.2:389
+#: build/C/man2/semctl.2:391
msgid "On failure, I<errno> will be set to one of the following:"
msgstr "失敗した場合は I<errno> には以下の値のどれかが設定される:"
#. type: Plain text
-#: build/C/man2/semctl.2:408
+#: build/C/man2/semctl.2:410
msgid ""
"The argument I<cmd> has one of the values B<GETALL>, B<GETPID>, B<GETVAL>, "
"B<GETNCNT>, B<GETZCNT>, B<IPC_STAT>, B<SEM_STAT>, B<SETALL>, or B<SETVAL> "
"ビリティ (capability) を持っていない。"
#. type: TP
-#: build/C/man2/semctl.2:408 build/C/man2/semop.2:347
+#: build/C/man2/semctl.2:410 build/C/man2/semop.2:347
#, no-wrap
msgid "B<EFAULT>"
msgstr "B<EFAULT>"
#. type: Plain text
-#: build/C/man2/semctl.2:415
+#: build/C/man2/semctl.2:417
msgid "The address pointed to by I<arg.buf> or I<arg.array> isn't accessible."
msgstr ""
"I<arg.buf> または I<arg.array> で指されているアドレスにアクセスすることができ"
"ない。"
#. type: TP
-#: build/C/man2/semctl.2:415 build/C/man2/semop.2:360
+#: build/C/man2/semctl.2:417 build/C/man2/semop.2:360
#, no-wrap
msgid "B<EIDRM>"
msgstr "B<EIDRM>"
#. type: Plain text
-#: build/C/man2/semctl.2:418 build/C/man2/semop.2:363
+#: build/C/man2/semctl.2:420 build/C/man2/semop.2:363
msgid "The semaphore set was removed."
msgstr "セマフォ集合が削除された。"
#. type: Plain text
-#: build/C/man2/semctl.2:429
+#: build/C/man2/semctl.2:431
msgid ""
"Invalid value for I<cmd> or I<semid>. Or: for a B<SEM_STAT> operation, the "
"index value specified in I<semid> referred to an array slot that is "
"照いていた。"
#. type: TP
-#: build/C/man2/semctl.2:429
+#: build/C/man2/semctl.2:431
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
#. type: Plain text
-#: build/C/man2/semctl.2:447
+#: build/C/man2/semctl.2:449
msgid ""
"The argument I<cmd> has the value B<IPC_SET> or B<IPC_RMID> but the "
"effective user ID of the calling process is not the creator (as found in "
"ケーパビリティを持たない。"
#. type: TP
-#: build/C/man2/semctl.2:447 build/C/man2/semop.2:382
+#: build/C/man2/semctl.2:449 build/C/man2/semop.2:382
#, no-wrap
msgid "B<ERANGE>"
msgstr "B<ERANGE>"
#. type: Plain text
-#: build/C/man2/semctl.2:460
+#: build/C/man2/semctl.2:462
msgid ""
"The argument I<cmd> has the value B<SETALL> or B<SETVAL> and the value to "
"which B<semval> is to be set (for some semaphore of the set) is less than 0 "
#. SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC.
#. type: Plain text
-#: build/C/man2/semctl.2:463 build/C/man2/semget.2:221
+#: build/C/man2/semctl.2:465 build/C/man2/semget.2:223
#: build/C/man2/semop.2:400
msgid "SVr4, POSIX.1-2001."
msgstr "SVr4, POSIX.1-2001."
+#. Like Linux, the FreeBSD man pages still document
+#. the inclusion of these header files.
#. type: Plain text
-#: build/C/man2/semctl.2:474
+#: build/C/man2/semctl.2:478 build/C/man2/semget.2:236
+#: build/C/man2/semop.2:413
+msgid ""
+"The inclusion of I<E<lt>sys/types.hE<gt>> and I<E<lt>sys/ipc.hE<gt>> isn't "
+"required on Linux or by any version of POSIX. However, some old "
+"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/semctl.2:489
msgid ""
"The B<IPC_INFO>, B<SEM_STAT> and B<SEM_INFO> operations are used by the "
"B<ipcs>(1) program to provide information on allocated resources. In the "
"れるか、 /proc ファイル・システム・インタフェースに移動されるかもしれない。"
#. type: Plain text
-#: build/C/man2/semctl.2:487
+#: build/C/man2/semctl.2:502
msgid ""
"Various fields in a I<struct semid_ds> were typed as I<short> under Linux "
"2.2 and have become I<long> under Linux 2.4. To take advantage of this, a "
"古い形式の呼び出しを I<cmd> 内の B<IPC_64> フラグで区別する。"
#. type: Plain text
-#: build/C/man2/semctl.2:496
+#: build/C/man2/semctl.2:511
msgid ""
"In some earlier versions of glibc, the I<semun> union was defined in "
"I<E<lt>sys/sem.hE<gt>>, but POSIX.1-2001 requires that the caller define "
"B<_SEM_SEMUN_UNDEFINED> が I<E<lt>sys/sem.hE<gt>> で定義されている。"
#. type: Plain text
-#: build/C/man2/semctl.2:500
+#: build/C/man2/semctl.2:515
msgid ""
"The following system limit on semaphore sets affects a B<semctl>() call:"
msgstr "以下は B<semctl>() コールに影響するセマフォ集合のシステム制限:"
#. type: TP
-#: build/C/man2/semctl.2:500 build/C/man2/semop.2:446
+#: build/C/man2/semctl.2:515 build/C/man2/semop.2:469
#, no-wrap
msgid "B<SEMVMX>"
msgstr "B<SEMVMX>"
#. type: Plain text
-#: build/C/man2/semctl.2:505
+#: build/C/man2/semctl.2:520
msgid "Maximum value for B<semval>: implementation dependent (32767)."
msgstr "B<semval> の最大値 : 実装依存 (32767)。"
#. type: Plain text
-#: build/C/man2/semctl.2:509
+#: build/C/man2/semctl.2:524
msgid ""
"For greater portability it is best to always call B<semctl>() with four "
"arguments."
"すことである。"
#. type: Plain text
-#: build/C/man2/semctl.2:516
+#: build/C/man2/semctl.2:531
msgid ""
"B<ipc>(2), B<semget>(2), B<semop>(2), B<capabilities>(7), B<sem_overview>"
"(7), B<svipc>(7)"
"(7), B<svipc>(7)"
#. type: TH
-#: build/C/man2/semget.2:34
+#: build/C/man2/semget.2:36
#, no-wrap
msgid "SEMGET"
msgstr "SEMGET"
-#. type: TH
-#: build/C/man2/semget.2:34
-#, no-wrap
-msgid "2004-05-27"
-msgstr "2004-05-27"
-
#. type: Plain text
-#: build/C/man2/semget.2:37
-msgid "semget - get a semaphore set identifier"
+#: build/C/man2/semget.2:39
+#, fuzzy
+#| msgid "semget - get a semaphore set identifier"
+msgid "semget - get a System V semaphore set identifier"
msgstr "semget - セマフォ集合の識別子を取得する"
#. type: Plain text
-#: build/C/man2/semget.2:47
+#: build/C/man2/semget.2:49
msgid ""
"B<int semget(key_t >I<key>B<,> B<int >I<nsems>B<,> B<int >I<semflg>B<);>"
msgstr ""
"B<int semget(key_t >I<key>B<,> B<int >I<nsems>B<,> B<int >I<semflg>B<);>"
#. type: Plain text
-#: build/C/man2/semget.2:65
+#: build/C/man2/semget.2:67
+#, fuzzy
+#| msgid ""
+#| "The B<semget>() system call returns the semaphore set identifier "
+#| "associated with the argument I<key>. A new set of I<nsems> semaphores is "
+#| "created if I<key> has the value B<IPC_PRIVATE> or if no existing "
+#| "semaphore set is associated with I<key> and B<IPC_CREAT> is specified in "
+#| "I<semflg>."
msgid ""
-"The B<semget>() system call returns the semaphore set identifier associated "
-"with the argument I<key>. A new set of I<nsems> semaphores is created if "
-"I<key> has the value B<IPC_PRIVATE> or if no existing semaphore set is "
-"associated with I<key> and B<IPC_CREAT> is specified in I<semflg>."
+"The B<semget>() system call returns the System V semaphore set identifier "
+"associated with the argument I<key>. A new set of I<nsems> semaphores is "
+"created if I<key> has the value B<IPC_PRIVATE> or if no existing semaphore "
+"set is associated with I<key> and B<IPC_CREAT> is specified in I<semflg>."
msgstr ""
"B<semget>() システムコールは、引き数 I<key> に対応するセマフォ集合 "
"(semaphore set) の 識別子 (identifier) を返す。 I<key> の値が B<IPC_PRIVATE> "
"成される。"
#. type: Plain text
-#: build/C/man2/semget.2:84
+#: build/C/man2/semget.2:86
msgid ""
"If I<semflg> specifies both B<IPC_CREAT> and B<IPC_EXCL> and a semaphore set "
"already exists for I<key>, then B<semget>() fails with I<errno> set to "
"た場合の動作と同じである)。"
#. type: Plain text
-#: build/C/man2/semget.2:97
+#: build/C/man2/semget.2:99
msgid ""
"Upon creation, the least significant 9 bits of the argument I<semflg> define "
"the permissions (for owner, group and others) for the semaphore set. These "
#. the values to zero, but I suppose there is/was some obscure
#. implementation out there that does not.
#. type: Plain text
-#: build/C/man2/semget.2:107
+#: build/C/man2/semget.2:109
msgid ""
"The values of the semaphores in a newly created set are indeterminate. "
"(POSIX.1-2001 is explicit on this point.) Although Linux, like many other "
"ではない。 アプリケーションは明示的にセマフォを希望の値で初期化すべきである。"
#. type: Plain text
-#: build/C/man2/semget.2:115
+#: build/C/man2/semget.2:117
msgid ""
"When creating a new semaphore set, B<semget>() initializes the set's "
"associated data structure, I<semid_ds> (see B<semctl>(2)), as follows:"
"B<semctl>(2) を参照):"
#. type: Plain text
-#: build/C/man2/semget.2:120
+#: build/C/man2/semget.2:122
msgid ""
"I<sem_perm.cuid> and I<sem_perm.uid> are set to the effective user ID of the "
"calling process."
"(effective) ユーザ ID を設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:125
+#: build/C/man2/semget.2:127
msgid ""
"I<sem_perm.cgid> and I<sem_perm.gid> are set to the effective group ID of "
"the calling process."
"(effective) グループ ID を設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:130
+#: build/C/man2/semget.2:132
msgid ""
"The least significant 9 bits of I<sem_perm.mode> are set to the least "
"significant 9 bits of I<semflg>."
"I<sem_perm.mode> の下位 9 ビットに I<semflg> の下位 9 ビットを設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:134
+#: build/C/man2/semget.2:136
msgid "I<sem_nsems> is set to the value of I<nsems>."
msgstr "I<sem_nsems> に I<nsems> の値を設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:137
+#: build/C/man2/semget.2:139
msgid "I<sem_otime> is set to 0."
msgstr "I<sem_otime> に 0 を設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:140
+#: build/C/man2/semget.2:142
msgid "I<sem_ctime> is set to the current time."
msgstr "I<sem_ctime> に現在の時刻を設定する。"
#. type: Plain text
-#: build/C/man2/semget.2:151
+#: build/C/man2/semget.2:153
msgid ""
"The argument I<nsems> can be 0 (a don't care) when a semaphore set is not "
"being created. Otherwise I<nsems> must be greater than 0 and less than or "
#. and a check is made to see if it is marked for destruction.
#. type: Plain text
-#: build/C/man2/semget.2:155
+#: build/C/man2/semget.2:157
msgid "If the semaphore set already exists, the permissions are verified."
msgstr "セマフォ集合が既に存在した場合は、アクセス許可の検査が行われる。"
#. type: Plain text
-#: build/C/man2/semget.2:161
+#: build/C/man2/semget.2:163
msgid ""
"If successful, the return value will be the semaphore set identifier (a "
"nonnegative integer), otherwise -1 is returned, with I<errno> indicating the "
"は -1 が返され、 I<errno> にエラーを示す値が設定される。"
#. type: Plain text
-#: build/C/man2/semget.2:165
+#: build/C/man2/semget.2:167
msgid "On failure I<errno> will be set to one of the following:"
msgstr "失敗した場合、 I<errno> には以下の値のいずれか一つが設定される:"
#. type: Plain text
-#: build/C/man2/semget.2:173
+#: build/C/man2/semget.2:175
msgid ""
"A semaphore set exists for I<key>, but the calling process does not have "
"permission to access the set, and does not have the B<CAP_IPC_OWNER> "
#. .B EIDRM
#. The semaphore set is marked to be deleted.
#. type: Plain text
-#: build/C/man2/semget.2:186
+#: build/C/man2/semget.2:188
msgid ""
"A semaphore set exists for I<key> and I<semflg> specified both B<IPC_CREAT> "
"and B<IPC_EXCL>."
"B<IPC_EXCL> が指定されていた。"
#. type: Plain text
-#: build/C/man2/semget.2:197
+#: build/C/man2/semget.2:199
msgid ""
"I<nsems> is less than 0 or greater than the limit on the number of "
"semaphores per semaphore set (B<SEMMSL>), or a semaphore set corresponding "
"し、 I<nsems> がその集合のセマフォ数よりも大きい。"
#. type: Plain text
-#: build/C/man2/semget.2:205
+#: build/C/man2/semget.2:207
msgid ""
"No semaphore set exists for I<key> and I<semflg> did not specify "
"B<IPC_CREAT>."
"れてもいない。"
#. type: Plain text
-#: build/C/man2/semget.2:209
+#: build/C/man2/semget.2:211
msgid ""
"A semaphore set has to be created but the system does not have enough memory "
"for the new data structure."
"リがシステムに存在しない。"
#. type: TP
-#: build/C/man2/semget.2:209
+#: build/C/man2/semget.2:211
#, no-wrap
msgid "B<ENOSPC>"
msgstr "B<ENOSPC>"
#. type: Plain text
-#: build/C/man2/semget.2:217
+#: build/C/man2/semget.2:219
msgid ""
"A semaphore set has to be created but the system limit for the maximum "
"number of semaphore sets (B<SEMMNI>), or the system wide maximum number of "
"てしまう。"
#. type: Plain text
-#: build/C/man2/semget.2:231
+#: build/C/man2/semget.2:246
msgid ""
"B<IPC_PRIVATE> isn't a flag field but a I<key_t> type. If this special "
"value is used for I<key>, the system call ignores everything but the least "
"ビット以外は全て無視し、 (成功した場合は) 新しいセマフォ集合を作成する。"
#. type: Plain text
-#: build/C/man2/semget.2:235
+#: build/C/man2/semget.2:250
msgid ""
"The following limits on semaphore set resources affect the B<semget>() call:"
msgstr ""
"以下に挙げる:"
#. type: TP
-#: build/C/man2/semget.2:235
+#: build/C/man2/semget.2:250
#, no-wrap
msgid "B<SEMMNI>"
msgstr "B<SEMMNI>"
#. This /proc file is not available in Linux 2.2 and earlier -- MTK
#. type: Plain text
-#: build/C/man2/semget.2:241
+#: build/C/man2/semget.2:256
msgid ""
"System wide maximum number of semaphore sets: policy dependent (on Linux, "
"this limit can be read and modified via the fourth field of I</proc/sys/"
"proc/sys/kernel/sem> の第4フィールドに対応し、読み出しも変更もできる)。"
#. type: TP
-#: build/C/man2/semget.2:241
+#: build/C/man2/semget.2:256
#, no-wrap
msgid "B<SEMMSL>"
msgstr "B<SEMMSL>"
#. type: Plain text
-#: build/C/man2/semget.2:246
+#: build/C/man2/semget.2:261
msgid ""
"Maximum number of semaphores per semid: implementation dependent (on Linux, "
"this limit can be read and modified via the first field of I</proc/sys/"
"sys/kernel/sem> の第1フィールドに対応し、読み出しも変更もできる)。"
#. type: TP
-#: build/C/man2/semget.2:246
+#: build/C/man2/semget.2:261
#, no-wrap
msgid "B<SEMMNS>"
msgstr "B<SEMMNS>"
#. type: Plain text
-#: build/C/man2/semget.2:254
+#: build/C/man2/semget.2:269
msgid ""
"System wide maximum number of semaphores: policy dependent (on Linux, this "
"limit can be read and modified via the second field of I</proc/sys/kernel/"
"* SEMMNI> より大きな値は意味を持たない。"
#. type: SH
-#: build/C/man2/semget.2:254 build/C/man2/semop.2:458
+#: build/C/man2/semget.2:269 build/C/man2/semop.2:481
#, no-wrap
msgid "BUGS"
msgstr "バグ"
#. type: Plain text
-#: build/C/man2/semget.2:260
+#: build/C/man2/semget.2:275
msgid ""
"The name choice B<IPC_PRIVATE> was perhaps unfortunate, B<IPC_NEW> would "
"more clearly show its function."
#. In fact they are initialized to zero on Linux, but POSIX.1-2001
#. does not specify this, and we can't portably rely on it.
#. type: Plain text
-#: build/C/man2/semget.2:279
+#: build/C/man2/semget.2:294
msgid ""
"The semaphores in a set are not initialized by B<semget>(). In order to "
"initialize the semaphores, B<semctl>(2) must be used to perform a B<SETVAL> "
"I<sem_otime> が 0 以外になっているかをチェックすればよい。)"
#. type: Plain text
-#: build/C/man2/semget.2:286
+#: build/C/man2/semget.2:301
msgid ""
"B<semctl>(2), B<semop>(2), B<ftok>(3), B<capabilities>(7), B<sem_overview>"
"(7), B<svipc>(7)"
"(7), B<svipc>(7)"
#. type: TH
-#: build/C/man2/semop.2:33
+#: build/C/man2/semop.2:35
#, no-wrap
msgid "SEMOP"
msgstr "SEMOP"
#. type: TH
-#: build/C/man2/semop.2:33
+#: build/C/man2/semop.2:35
#, no-wrap
-msgid "2008-10-04"
-msgstr "2008-10-04"
+msgid "2013-04-17"
+msgstr ""
#. type: Plain text
-#: build/C/man2/semop.2:36
-msgid "semop, semtimedop - semaphore operations"
+#: build/C/man2/semop.2:38
+#, fuzzy
+#| msgid "semop, semtimedop - semaphore operations"
+msgid "semop, semtimedop - System V semaphore operations"
msgstr "semop, semtimedop - セマフォの操作"
#. type: Plain text
-#: build/C/man2/semop.2:43
+#: build/C/man2/semop.2:45
#, no-wrap
msgid "B<int semop(int >I<semid>B<, struct sembuf *>I<sops>B<, unsigned >I<nsops>B<);>\n"
msgstr "B<int semop(int >I<semid>B<, struct sembuf *>I<sops>B<, unsigned >I<nsops>B<);>\n"
#. type: Plain text
-#: build/C/man2/semop.2:46
+#: build/C/man2/semop.2:48
#, no-wrap
msgid ""
"B<int semtimedop(int >I<semid>B<, struct sembuf *>I<sops>B<, unsigned >I<nsops>B<,>\n"
"B< struct timespec *>I<timeout>B<);>\n"
#. type: Plain text
-#: build/C/man2/semop.2:55
+#: build/C/man2/semop.2:57
msgid "B<semtimedop>(): _GNU_SOURCE"
msgstr "B<semtimedop>(): _GNU_SOURCE"
#. type: Plain text
-#: build/C/man2/semop.2:57
-msgid "Each semaphore in a semaphore set has the following associated values:"
+#: build/C/man2/semop.2:60
+#, fuzzy
+#| msgid ""
+#| "Each semaphore in a semaphore set has the following associated values:"
+msgid ""
+"Each semaphore in a System V semaphore set has the following associated "
+"values:"
msgstr ""
"セマフォ集合 (semaphore set) のメンバーの各セマフォは 以下の関連情報を持って"
"いる:"
#. type: Plain text
-#: build/C/man2/semop.2:64
+#: build/C/man2/semop.2:67
#, no-wrap
msgid ""
"unsigned short semval; /* semaphore value */\n"
"unsigned short semzcnt; /* # waiting for zero */\n"
"unsigned short semncnt; /* # waiting for increase */\n"
-"pid_t sempid; /* process that did last op */\n"
+"pid_t sempid; /* ID of process that did last op */\n"
msgstr ""
"unsigned short semval; /* セマフォ値 */\n"
"unsigned short semzcnt; /* ゼロを待つプロセス数 */\n"
"unsigned short semncnt; /* 増加を待つプロセス数 */\n"
-"pid_t sempid; /* 最後に操作を行なったプロセス */\n"
+"pid_t sempid; /* 最後に操作を行なったプロセスの ID */\n"
#. type: Plain text
-#: build/C/man2/semop.2:78
+#: build/C/man2/semop.2:81
msgid ""
"B<semop>() performs operations on selected semaphores in the set indicated "
"by I<semid>. Each of the I<nsops> elements in the array pointed to by "
"マフォに 対する操作を示す。その型は I<struct sembuf> で、次のメンバを持つ:"
#. type: Plain text
-#: build/C/man2/semop.2:84
+#: build/C/man2/semop.2:87
#, no-wrap
msgid ""
"unsigned short sem_num; /* semaphore number */\n"
"short sem_flg; /* 操作フラグ */\n"
#. type: Plain text
-#: build/C/man2/semop.2:96
+#: build/C/man2/semop.2:99
msgid ""
"Flags recognized in I<sem_flg> are B<IPC_NOWAIT> and B<SEM_UNDO>. If an "
"operation specifies B<SEM_UNDO>, it will be automatically undone when the "
"定された操作は、そのプロセスが終了した時に自動的に取り消される。"
#. type: Plain text
-#: build/C/man2/semop.2:111
+#: build/C/man2/semop.2:114
msgid ""
"The set of operations contained in I<sops> is performed in I<array order>, "
"and I<atomically>, that is, the operations are performed either as a "
"り、後述のようになる。"
#. type: Plain text
-#: build/C/man2/semop.2:118
+#: build/C/man2/semop.2:121
msgid ""
"Each operation is performed on the I<sem_num>-th semaphore of the semaphore "
"set, where the first semaphore of the set is numbered 0. There are three "
"り、 I<sem_op> の値で区別される。"
#. type: Plain text
-#: build/C/man2/semop.2:131
+#: build/C/man2/semop.2:136
+#, fuzzy
+#| msgid ""
+#| "If I<sem_op> is a positive integer, the operation adds this value to the "
+#| "semaphore value (I<semval>). Furthermore, if B<SEM_UNDO> is specified "
+#| "for this operation, the system updates the undo count (I<semadj>) for "
+#| "this semaphore. This operation can always proceed\\(emit never forces a "
+#| "thread to wait. The calling process must have alter permission on the "
+#| "semaphore set."
msgid ""
"If I<sem_op> is a positive integer, the operation adds this value to the "
"semaphore value (I<semval>). Furthermore, if B<SEM_UNDO> is specified for "
-"this operation, the system updates the process undo count (I<semadj>) for "
-"this semaphore. This operation can always proceed\\(emit never forces a "
-"process to wait. The calling process must have alter permission on the "
-"semaphore set."
-msgstr ""
-"I<sem_op> が正の整数の場合、操作としてその値をセマフォの値 (I<semval>) に加"
-"ã\81\88ã\82\8bã\80\82ã\81\95ã\82\89ã\81«ã\81\93ã\81®æ\93\8dä½\9cã\81« B<SEM_UNDO> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81¯ã\81\93ã\81®ã\82»ã\83\9e"
-"フォの プロセス・アンドゥ数 (I<semadj>) を更新する。 この操作は必ず実行で"
-"き、プロセスの停止は起こらない。 呼び出し元プロセスは対象のセマフォ集合を変更"
-"ã\81\99ã\82\8b許å\8f¯ã\81\8cã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
+"this operation, the system subtracts the value I<sem_op> from the semaphore "
+"adjustment (I<semadj>) value for this semaphore. This operation can always "
+"proceed\\(emit never forces a thread to wait. The calling process must have "
+"alter permission on the semaphore set."
+msgstr ""
+"I<sem_op> が正の整数の場合、操作としてその値をセマフォの値 (I<semval>) に加え"
+"る。さらにこの操作に B<SEM_UNDO> が指定されている場合は、システムはこのセマ"
+"フォのアンドゥ数 (I<semadj>) を更新する。この操作は必ず実行でき、スレッドの停"
+"止は起こらない。 呼び出し元プロセスは対象のセマフォ集合を変更する許可がなけれ"
+"ばならない。"
#. type: Plain text
-#: build/C/man2/semop.2:156
+#: build/C/man2/semop.2:161
msgid ""
"If I<sem_op> is zero, the process must have read permission on the semaphore "
"set. This is a \"wait-for-zero\" operation: if I<semval> is zero, the "
"operation can immediately proceed. Otherwise, if B<IPC_NOWAIT> is specified "
"in I<sem_flg>, B<semop>() fails with I<errno> set to B<EAGAIN> (and none of "
"the operations in I<sops> is performed). Otherwise I<semzcnt> (the count of "
-"processes waiting until this semaphore's value becomes zero) is incremented "
-"by one and the process sleeps until one of the following occurs:"
+"threads waiting until this semaphore's value becomes zero) is incremented "
+"by one and the thread sleeps until one of the following occurs:"
msgstr ""
"I<sem_op> が 0 の場合、「ゼロまで待つ」操作である。この場合、プロセスは その"
"セマフォ集合に対する読み込み許可がなければならない。 I<semval> が 0 ならば、"
"B<IPC_NOWAIT> が指定されていれば、 B<semop>() は失敗し、 B<errno> に "
"B<EAGAIN> が設定される (このとき I<sops> に対する操作は全く実行されない)。 "
"I<sem_flg> に B<IPC_NOWAIT> が指定されていない場合、 I<semzcnt> (セマフォ値"
-"ã\81\8c 0 ã\81«ã\81ªã\82\8bã\81®ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\83\97ã\83ã\82»ã\82¹の数) を 1 増加させて、 以下のいずれかが起こ"
-"ã\82\8bã\81¾ã\81§ã\83\97ã\83ã\82»ã\82¹を停止 (sleep) する。"
+"ã\81\8c 0 ã\81«ã\81ªã\82\8bã\81®ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89の数) を 1 増加させて、 以下のいずれかが起こ"
+"ã\82\8bã\81¾ã\81§ã\82¹ã\83¬ã\83\83ã\83\89を停止 (sleep) する。"
#. type: IP
-#: build/C/man2/semop.2:156 build/C/man2/semop.2:161 build/C/man2/semop.2:169
-#: build/C/man2/semop.2:179 build/C/man2/semop.2:230 build/C/man2/semop.2:245
-#: build/C/man2/semop.2:252 build/C/man2/semop.2:262
+#: build/C/man2/semop.2:161 build/C/man2/semop.2:166 build/C/man2/semop.2:174
+#: build/C/man2/semop.2:184 build/C/man2/semop.2:237 build/C/man2/semop.2:242
+#: build/C/man2/semop.2:249 build/C/man2/semop.2:259
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"
#. type: Plain text
-#: build/C/man2/semop.2:161
+#: build/C/man2/semop.2:166
msgid ""
"I<semval> becomes 0, at which time the value of I<semzcnt> is decremented."
msgstr "I<semval> が 0 になった: このとき I<semzcnt> の値は 1 減算される。"
#. type: Plain text
-#: build/C/man2/semop.2:169
+#: build/C/man2/semop.2:174
msgid ""
"The semaphore set is removed: B<semop>() fails, with I<errno> set to "
"B<EIDRM>."
"B<EIDRM> が設定される。"
#. type: Plain text
-#: build/C/man2/semop.2:179
+#: build/C/man2/semop.2:184
msgid ""
-"The calling process catches a signal: the value of I<semzcnt> is decremented "
+"The calling thread catches a signal: the value of I<semzcnt> is decremented "
"and B<semop>() fails, with I<errno> set to B<EINTR>."
msgstr ""
-"å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83ã\82»ã\82¹がシグナルを捕獲した: このとき I<semzcnt> の値は 1 減算さ"
+"å\91¼ã\81³å\87ºã\81\97å\85\83ã\82¹ã\83¬ã\83\83ã\83\89がシグナルを捕獲した: このとき I<semzcnt> の値は 1 減算さ"
"れ、 B<semop>() は失敗し I<errno> に B<EINTR> が設定される。"
#. type: Plain text
-#: build/C/man2/semop.2:190
+#: build/C/man2/semop.2:195
msgid ""
"The time limit specified by I<timeout> in a B<semtimedop>() call expires: "
"B<semop>() fails, with I<errno> set to B<EAGAIN>."
"B<semtimedop>() は失敗し、 I<errno> に B<EAGAIN> が設定される。"
#. type: Plain text
-#: build/C/man2/semop.2:230
+#: build/C/man2/semop.2:237
+#, fuzzy
+#| msgid ""
+#| "If I<sem_op> is less than zero, the process must have alter permission on "
+#| "the semaphore set. If I<semval> is greater than or equal to the absolute "
+#| "value of I<sem_op>, the operation can proceed immediately: the absolute "
+#| "value of I<sem_op> is subtracted from I<semval>, and, if B<SEM_UNDO> is "
+#| "specified for this operation, the system updates the undo count "
+#| "(I<semadj>) for this semaphore. If the absolute value of I<sem_op> is "
+#| "greater than I<semval>, and B<IPC_NOWAIT> is specified in I<sem_flg>, "
+#| "B<semop>() fails, with I<errno> set to B<EAGAIN> (and none of the "
+#| "operations in I<sops> is performed). Otherwise I<semncnt> (the counter "
+#| "of threads waiting for this semaphore's value to increase) is "
+#| "incremented by one and the thread sleeps until one of the following "
+#| "occurs:"
msgid ""
"If I<sem_op> is less than zero, the process must have alter permission on "
"the semaphore set. If I<semval> is greater than or equal to the absolute "
"value of I<sem_op>, the operation can proceed immediately: the absolute "
"value of I<sem_op> is subtracted from I<semval>, and, if B<SEM_UNDO> is "
-"specified for this operation, the system updates the process undo count "
-"(I<semadj>) for this semaphore. If the absolute value of I<sem_op> is "
-"greater than I<semval>, and B<IPC_NOWAIT> is specified in I<sem_flg>, "
-"B<semop>() fails, with I<errno> set to B<EAGAIN> (and none of the "
-"operations in I<sops> is performed). Otherwise I<semncnt> (the counter of "
-"processes waiting for this semaphore's value to increase) is incremented by "
-"one and the process sleeps until one of the following occurs:"
+"specified for this operation, the system adds the absolute value of "
+"I<sem_op> to the semaphore adjustment (I<semadj>) value for this "
+"semaphore. If the absolute value of I<sem_op> is greater than I<semval>, "
+"and B<IPC_NOWAIT> is specified in I<sem_flg>, B<semop>() fails, with "
+"I<errno> set to B<EAGAIN> (and none of the operations in I<sops> is "
+"performed). Otherwise I<semncnt> (the counter of threads waiting for this "
+"semaphore's value to increase) is incremented by one and the thread sleeps "
+"until one of the following occurs:"
msgstr ""
"I<sem_op> が 0 未満の場合、プロセスにはそのセマフォ集合を変更する許可がなけれ"
"ば ならない。 I<semval> が I<sem_op> の絶対値以上の場合は、操作は直ちに実行さ"
"れる: I<semval> から I<sem_op> の絶対値が減算される。 さらに、この操作に "
-"B<SEM_UNDO> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\81\93ã\81®ã\82»ã\83\9eã\83\95ã\82©ã\81®ã\83\97ã\83ã\82»ã\82¹ã\83»ã\82¢ã\83³ã\83\89ã\82¥æ\95° "
-"(I<semadj>) を更新する。 I<semval> が I<sem_op> の絶対値より小さく、 "
-"I<sem_flg> に B<IPC_NOWAIT> が指定された場合は、 B<semop>() は失敗し、 "
-"I<errno> に B<EAGAIN> が設定される (このとき I<sops> の操作は全く実行されな"
-"い)。 B<IPC_WAIT> が指定されていなければ、 I<semncnt> (このセマフォの値が増加"
-"ã\81\99ã\82\8bã\81®ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\83\97ã\83ã\82»ã\82¹æ\95°ã\81®ã\82«ã\82¦ã\83³ã\82¿) ã\82\92 1 å¢\97å\8a ã\81\95ã\81\9bã\81¦ã\80\81以ä¸\8bã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81\8cèµ·"
-"ã\81\93ã\82\8bã\81¾ã\81§ã\83\97ã\83ã\82»ã\82¹を停止 (sleep) する。"
+"B<SEM_UNDO> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\81\93ã\81®ã\82»ã\83\9eã\83\95ã\82©ã\81®ã\82¢ã\83³ã\83\89ã\82¥æ\95° (I<semadj>) ã\82\92"
+"更新する。 I<semval> が I<sem_op> の絶対値より小さく、 I<sem_flg> に "
+"B<IPC_NOWAIT> が指定された場合は、 B<semop>() は失敗し、 I<errno> に "
+"B<EAGAIN> が設定される (このとき I<sops> の操作は全く実行されない)。 "
+"B<IPC_WAIT> が指定されていなければ、 I<semncnt> (このセマフォの値が増加するの"
+"ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89æ\95°ã\81®ã\82«ã\82¦ã\83³ã\82¿) ã\82\92 1 å¢\97å\8a ã\81\95ã\81\9bã\81¦ã\80\81以ä¸\8bã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81\8cèµ·ã\81\93ã\82\8bã\81¾"
+"ã\81§ã\82¹ã\83¬ã\83\83ã\83\89を停止 (sleep) する。"
#. type: Plain text
-#: build/C/man2/semop.2:245
+#: build/C/man2/semop.2:242
msgid ""
-"I<semval> becomes greater than or equal to the absolute value of I<sem_op>, "
-"at which time the value of I<semncnt> is decremented, the absolute value of "
-"I<sem_op> is subtracted from I<semval> and, if B<SEM_UNDO> is specified for "
-"this operation, the system updates the process undo count (I<semadj>) for "
-"this semaphore."
+"I<semval> becomes greater than or equal to the absolute value of I<sem_op>: "
+"the operation now proceeds, as described above."
msgstr ""
-"I<semval> が I<sem_op> の絶対値以上になった: このとき I<semncnt> が 1 減算さ"
-"れ、 I<semval> から I<sem_op> の絶対値が引かれる。 この操作に B<SEM_UNDO> が"
-"指定されていた場合にはこのセマフォのプロセス・アンドゥ数 (I<semadj>) も更新"
-"する。"
#. type: Plain text
-#: build/C/man2/semop.2:252
+#: build/C/man2/semop.2:249
msgid ""
"The semaphore set is removed from the system: B<semop>() fails, with "
"I<errno> set to B<EIDRM>."
"に B<EIDRM> が設定される。"
#. type: Plain text
-#: build/C/man2/semop.2:262
+#: build/C/man2/semop.2:259
msgid ""
-"The calling process catches a signal: the value of I<semncnt> is decremented "
+"The calling thread catches a signal: the value of I<semncnt> is decremented "
"and B<semop>() fails, with I<errno> set to B<EINTR>."
msgstr ""
-"å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83ã\82»ã\82¹がシグナルを捕獲した: このとき I<semncnt> が 1 減算され、 "
+"å\91¼ã\81³å\87ºã\81\97ã\81\9fã\82¹ã\83¬ã\83\83ã\83\89がシグナルを捕獲した: このとき I<semncnt> が 1 減算され、 "
"B<semop>() は失敗し I<errno> に B<EINTR> が設定される。"
#. type: Plain text
-#: build/C/man2/semop.2:271
+#: build/C/man2/semop.2:268
msgid ""
"The time limit specified by I<timeout> in a B<semtimedop>() call expires: "
"the system call fails, with I<errno> set to B<EAGAIN>."
#. and
#. .I sem_ctime
#. type: Plain text
-#: build/C/man2/semop.2:282
+#: build/C/man2/semop.2:279
msgid ""
"On successful completion, the I<sempid> value for each semaphore specified "
-"in the array pointed to by I<sops> is set to the process ID of the calling "
-"process. In addition, the I<sem_otime> is set to the current time."
+"in the array pointed to by I<sops> is set to the caller's process ID. In "
+"addition, the I<sem_otime> is set to the current time."
msgstr ""
"操作が成功した場合、 I<sops> が指す配列によって操作対象となった各セマフォの "
-"I<sempid> メンバーには呼び出したプロセスのプロセス ID が設定される。 さらに "
+"I<sempid> メンバーには呼び出し元のプロセス ID が設定される。さらに "
"I<sem_otime> に現在時刻が設定される。"
#. type: Plain text
#: build/C/man2/semop.2:309
msgid ""
"B<semtimedop>() behaves identically to B<semop>() except that in those "
-"cases were the calling process would sleep, the duration of that sleep is "
+"cases where the calling thread would sleep, the duration of that sleep is "
"limited by the amount of elapsed time specified by the I<timespec> structure "
-"whose address is passed in the I<timeout> argument. If the specified time "
-"limit has been reached, B<semtimedop>() fails with I<errno> set to "
-"B<EAGAIN> (and none of the operations in I<sops> is performed). If the "
-"I<timeout> argument is NULL, then B<semtimedop>() behaves exactly like "
+"whose address is passed in the I<timeout> argument. (This sleep interval "
+"will be rounded up to the system clock granularity, and kernel scheduling "
+"delays mean that the interval may overrun by a small amount.) If the "
+"specified time limit has been reached, B<semtimedop>() fails with I<errno> "
+"set to B<EAGAIN> (and none of the operations in I<sops> is performed). If "
+"the I<timeout> argument is NULL, then B<semtimedop>() behaves exactly like "
"B<semop>()."
msgstr ""
-"B<semtimedop>() 関数の振る舞いは B<semop>() と全く同じだが、 呼び出し元プロ"
-"セスが停止する場合、停止期間の上限が I<timeout> 引き数の指す I<timespec> 構造"
-"体で指定された時間となる点だけが異なる。 指定した制限時間に達した場合は、 "
-"B<semtimedop>() は失敗し、 I<errno> に B<EAGAIN> が設定される (このとき "
-"I<sops> の操作は実行されない)。 I<timeout> 引き数が NULL の場合、 "
-"B<semtimedop>() 関数の振る舞いは B<semop>() 関数と全く同じになる。"
+"B<semtimedop>() 関数の振る舞いは B<semop>() と全く同じだが、呼び出し元\n"
+"スレッドが停止する場合、停止期間の上限が I<timeout> 引き数の指す\n"
+"I<timespec> 構造体で指定された時間となる点だけが異なる (この停止期間は\n"
+"システムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延に\n"
+"より、この停止期間は少しだけ長くなる可能性がある)。\n"
+"指定した制限時間に達した場合は、 B<semtimedop>() は失敗し、 I<errno> に\n"
+"B<EAGAIN> が設定される (このとき I<sops> の操作は実行されない)。\n"
+"I<timeout> 引き数が NULL の場合、 B<semtimedop>() 関数の振る舞いは\n"
+"B<semop>() 関数と全く同じになる。"
#. type: Plain text
#: build/C/man2/semop.2:319
#. type: Plain text
#: build/C/man2/semop.2:367
msgid ""
-"While blocked in this system call, the process caught a signal; see B<signal>"
+"While blocked in this system call, the thread caught a signal; see B<signal>"
"(7)."
msgstr ""
-"ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§å\81\9cæ¢ã\81\97ã\81¦ã\81\84ã\82\8bæ\99\82ã\81«ã\83\97ã\83ã\82»ã\82¹がシグナルを捕獲した。 B<single>"
-"(7) 参照。"
+"ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§å\81\9cæ¢ã\81\97ã\81¦ã\81\84ã\82\8bæ\99\82ã\81«ã\82¹ã\83¬ã\83\83ã\83\89がシグナルを捕獲した。 B<single>"
+"(7) 参照。"
#. type: Plain text
#: build/C/man2/semop.2:374
"めて登場した。"
#. type: Plain text
-#: build/C/man2/semop.2:408
+#: build/C/man2/semop.2:421
msgid ""
"The I<sem_undo> structures of a process aren't inherited by the child "
"produced by B<fork>(2), but they are inherited across an B<execve>(2) "
"承されないが、 B<execve>(2) システムコールの場合は継承される。"
#. type: Plain text
-#: build/C/man2/semop.2:414
+#: build/C/man2/semop.2:427
msgid ""
"B<semop>() is never automatically restarted after being interrupted by a "
"signal handler, regardless of the setting of the B<SA_RESTART> flag when "
"れていても再開することはない"
#. type: Plain text
-#: build/C/man2/semop.2:429
+#: build/C/man2/semop.2:452
msgid ""
-"I<semadj> is a per-process integer which is simply the (negative) count of "
-"all semaphore operations performed specifying the B<SEM_UNDO> flag. When a "
+"A semaphore adjustment (I<semadj>) value is a per-process, per-semaphore "
+"integer that is the negated sum of all operations performed on a semaphore "
+"specifying the B<SEM_UNDO> flag. Each process has a list of I<semadj> values"
+"\\(emone value for each semaphore on which it has operated using "
+"B<SEM_UNDO>. When a process terminates, each of its per-semaphore I<semadj> "
+"values is added to the corresponding semaphore, thus undoing the effect of "
+"that process's operations on the semaphore (but see BUGS below). When a "
"semaphore's value is directly set using the B<SETVAL> or B<SETALL> request "
"to B<semctl>(2), the corresponding I<semadj> values in all processes are "
"cleared."
msgstr ""
-"I<semadj> はプロセスごとの整数で、 B<SEM_UNDO> フラグを設定して実行された全て"
-"のセマフォ操作の(負数の)カウンタである。 B<semctl>(2) に B<SETVAL> または "
-"B<SETALL> を指定し、セマフォの値が 直接設定された場合には、全てのプロセスにお"
-"いて対応する I<semadj> の値がクリアされる。"
#. type: Plain text
-#: build/C/man2/semop.2:434
+#: build/C/man2/semop.2:457
msgid ""
"The I<semval>, I<sempid>, I<semzcnt>, and I<semnct> values for a semaphore "
"can all be retrieved using appropriate B<semctl>(2) calls."
"切な操作を指定して B<semctl>(2) を呼び出すことで取得できる。"
#. type: Plain text
-#: build/C/man2/semop.2:438
+#: build/C/man2/semop.2:461
msgid ""
"The following limits on semaphore set resources affect the B<semop>() call:"
msgstr ""
"下に挙げる:"
#. type: TP
-#: build/C/man2/semop.2:438
+#: build/C/man2/semop.2:461
#, no-wrap
msgid "B<SEMOPM>"
msgstr "B<SEMOPM>"
#. This /proc file is not available in Linux 2.2 and earlier -- MTK
#. type: Plain text
-#: build/C/man2/semop.2:446
+#: build/C/man2/semop.2:469
msgid ""
"Maximum number of operations allowed for one B<semop>() call (32) (on "
"Linux, this limit can be read and modified via the third field of I</proc/"
"I</proc/sys/kernel/sem> の第3フィールドに対応し、読み出しも変更もできる)。"
#. type: Plain text
-#: build/C/man2/semop.2:451
+#: build/C/man2/semop.2:474
msgid ""
"Maximum allowable value for I<semval>: implementation dependent (32767)."
msgstr "I<semval> が取り得る最大値: 実装依存 (32767)。"
#. type: Plain text
-#: build/C/man2/semop.2:458
+#: build/C/man2/semop.2:481
msgid ""
"The implementation has no intrinsic limits for the adjust on exit maximum "
"value (B<SEMAEM>), the system wide maximum number of undo structures "
"あたりのアンドゥ構造体の最大数。"
#. type: Plain text
-#: build/C/man2/semop.2:479
+#: build/C/man2/semop.2:502
msgid ""
"When a process terminates, its set of associated I<semadj> structures is "
"used to undo the effect of all of the semaphore operations it performed with "
#. the fix:
#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2
#. type: Plain text
-#: build/C/man2/semop.2:488
+#: build/C/man2/semop.2:511
msgid ""
"In kernels 2.6.x, x E<lt>= 10, there is a bug that in some circumstances "
-"prevents a process that is waiting for a semaphore value to become zero from "
+"prevents a thread that is waiting for a semaphore value to become zero from "
"being woken up when the value does actually become zero. This bug is fixed "
"in kernel 2.6.11."
msgstr ""
"カーネル 2.6.x (x E<lt>= 10) には、ある状況においてセマフォ値が 0 になるのを "
-"å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\83\97ã\83ã\82»ã\82¹が、セマフォ値が実際に 0 になったときに起床 (wake up) され"
+"å¾\85ã\81£ã\81¦ã\81\84ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89が、セマフォ値が実際に 0 になったときに起床 (wake up) され"
"ない、というバグがある。このバグはカーネル 2.6.11 で修正されている。"
#. type: Plain text
-#: build/C/man2/semop.2:493
+#: build/C/man2/semop.2:516
msgid ""
"The following code segment uses B<semop>() to atomically wait for the value "
"of semaphore 0 to become zero, and then increment the semaphore value by one."
"う。"
#. type: Plain text
-#: build/C/man2/semop.2:497
+#: build/C/man2/semop.2:520
#, no-wrap
msgid ""
" struct sembuf sops[2];\n"
" int semid;\n"
#. type: Plain text
-#: build/C/man2/semop.2:499
+#: build/C/man2/semop.2:522
#, no-wrap
msgid " /* Code to set I<semid> omitted */\n"
msgstr " /* Code to set I<semid> omitted */\n"
#. type: Plain text
-#: build/C/man2/semop.2:503
+#: build/C/man2/semop.2:526
#, no-wrap
msgid ""
" sops[0].sem_num = 0; /* Operate on semaphore 0 */\n"
" sops[0].sem_flg = 0;\n"
#. type: Plain text
-#: build/C/man2/semop.2:507
+#: build/C/man2/semop.2:530
#, no-wrap
msgid ""
" sops[1].sem_num = 0; /* Operate on semaphore 0 */\n"
" sops[1].sem_flg = 0;\n"
#. type: Plain text
-#: build/C/man2/semop.2:512
+#: build/C/man2/semop.2:535
#, no-wrap
msgid ""
" if (semop(semid, sops, 2) == -1) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/semop.2:521
+#: build/C/man2/semop.2:545
msgid ""
-"B<semctl>(2), B<semget>(2), B<sigaction>(2), B<capabilities>(7), "
-"B<sem_overview>(7), B<svipc>(7), B<time>(7)"
+"B<clone>(2), B<semctl>(2), B<semget>(2), B<sigaction>(2), B<capabilities>"
+"(7), B<sem_overview>(7), B<svipc>(7), B<time>(7)"
msgstr ""
-"B<semctl>(2), B<semget>(2), B<sigaction>(2), B<capabilities>(7), "
-"B<sem_overview>(7), B<svipc>(7), B<time>(7)"
+"B<clone>(2), B<semctl>(2), B<semget>(2), B<sigaction>(2), B<capabilities>"
+"(7), B<sem_overview>(7), B<svipc>(7), B<time>(7)"
+
+#~ msgid "2012-08-27"
+#~ msgstr "2012-08-27"
+
+#~ msgid ""
+#~ "I<semval> becomes greater than or equal to the absolute value of "
+#~ "I<sem_op>, at which time the value of I<semncnt> is decremented, the "
+#~ "absolute value of I<sem_op> is subtracted from I<semval> and, if "
+#~ "B<SEM_UNDO> is specified for this operation, the system updates the undo "
+#~ "count (I<semadj>) for this semaphore."
+#~ msgstr ""
+#~ "I<semval> が I<sem_op> の絶対値以上になった: このとき I<semncnt> が 1 減算"
+#~ "され、 I<semval> から I<sem_op> の絶対値が引かれる。 この操作に "
+#~ "B<SEM_UNDO> が指定されていた場合にはこのセマフォのアンドゥ数 (I<semadj>) "
+#~ "も更新する。"
+
+#~ msgid ""
+#~ "I<semadj> is a per-process integer which is simply the (negative) count "
+#~ "of all semaphore operations performed specifying the B<SEM_UNDO> flag. "
+#~ "When a semaphore's value is directly set using the B<SETVAL> or B<SETALL> "
+#~ "request to B<semctl>(2), the corresponding I<semadj> values in all "
+#~ "processes are cleared."
+#~ msgstr ""
+#~ "I<semadj> はプロセスごとの整数で、 B<SEM_UNDO> フラグを設定して実行された"
+#~ "全てのセマフォ操作の(負数の)カウンタである。 B<semctl>(2) に B<SETVAL> ま"
+#~ "たは B<SETALL> を指定し、セマフォの値が 直接設定された場合には、全てのプロ"
+#~ "セスにおいて対応する I<semadj> の値がクリアされる。"
+
+#~ msgid "2006-03-25"
+#~ msgstr "2006-03-25"
+
+#~ msgid "2008-07-27"
+#~ msgstr "2008-07-27"
+
+#~ msgid "2009-02-20"
+#~ msgstr "2009-02-20"
+
+#~ msgid "2010-05-22"
+#~ msgstr "2010-05-22"
+
+#~ msgid "2009-03-30"
+#~ msgstr "2009-03-30"
+
+#~ msgid "2009-09-27"
+#~ msgstr "2009-09-27"
+
+#~ msgid "2004-05-27"
+#~ msgstr "2004-05-27"
+
+#~ msgid "2008-10-04"
+#~ msgstr "2008-10-04"