• R/O
  • HTTP
  • SSH
  • HTTPS

LDP_man-pages: Commit


Commit MetaInfo

Revisión7d214483db712f6709172acbae09272928375ea2 (tree)
Tiempo2015-01-25 19:48:00
AutorAkihiro MOTOKI <amotoki@gmai...>
CommiterAkihiro MOTOKI

Log Message

Complete restart_syscall.2

Cambiar Resumen

Diferencia incremental

--- /dev/null
+++ b/draft/man2/restart_syscall.2
@@ -0,0 +1,94 @@
1+.\" Copyright (c) 2013 by Michael Kerrisk <mtk.manpages@gmail.com>
2+.\"
3+.\" %%%LICENSE_START(VERBATIM)
4+.\" Permission is granted to make and distribute verbatim copies of this
5+.\" manual provided the copyright notice and this permission notice are
6+.\" preserved on all copies.
7+.\"
8+.\" Permission is granted to copy and distribute modified versions of this
9+.\" manual under the conditions for verbatim copying, provided that the
10+.\" entire resulting derived work is distributed under the terms of a
11+.\" permission notice identical to this one.
12+.\"
13+.\" Since the Linux kernel and libraries are constantly changing, this
14+.\" manual page may be incorrect or out-of-date. The author(s) assume no
15+.\" responsibility for errors or omissions, or for damages resulting from
16+.\" the use of the information contained herein. The author(s) may not
17+.\" have taken the same level of care in the production of this manual,
18+.\" which is licensed free of charge, as they might when working
19+.\" professionally.
20+.\"
21+.\" Formatted or processed versions of this manual, if unaccompanied by
22+.\" the source, must acknowledge the copyright and authors of this work.
23+.\" %%%LICENSE_END
24+.\"
25+.\" http://thread.gmane.org/gmane.linux.kernel/76552/focus=76803
26+.\" From: Linus Torvalds <torvalds <at> transmeta.com>
27+.\" Subject: Re: [PATCH] compatibility syscall layer (lets try again)
28+.\" Newsgroups: gmane.linux.kernel
29+.\" Date: 2002-12-05 02:51:12 GMT
30+.\"
31+.\" See also Section 11.3.3 of Understanding the Linux Kernel, 3rd edition
32+.\"
33+.\"*******************************************************************
34+.\"
35+.\" This file was generated with po4a. Translate the source file.
36+.\"
37+.\"*******************************************************************
38+.TH RESTART_SYSCALL 2 2014\-12\-31 Linux "Linux Programmer's Manual"
39+.SH 名前
40+restart_syscall \- 一時停止シグナルによる割り込み後にシステムコールを再開する
41+.SH 書式
42+\fBint restart_syscall(void);\fP
43+
44+\fI注\fP: このシステムコールには、glibc のラッパー関数はない。「注意」の節を参照。
45+.SH 説明
46+\fBrestart_syscall\fP() システムコールは、 シグナル (\fBSIGSTOP\fP や \fBSIGTSTP\fP など)
47+によって停止されたプロセスが \fBSIGCONT\fP シグナルを受信して再開された後に、 特定のシステムコールを再開するのに使用される。
48+このシステムコールはカーネル内部での利用のみを想定している。
49+
50+.\" These system calls correspond to the special internal errno value
51+.\" ERESTART_RESTARTBLOCK. Each of the system calls has a "restart"
52+.\" helper function that is invoked by restart_syscall().
53+.\" Notable (as at Linux 3.17) is that poll() has such a "restart"
54+.\" function, but ppoll(), select(), and pselect() do not.
55+.\" This means that the latter system calls do not take account of the
56+.\" time spent in the stopped state when restarting.
57+\fBrestart_syscall\fP() は、 再開時に時刻関連のパラメーターを調整する必要があるシステムコールを再開させる場合にのみ使用される。
58+概要するシステムコールは \fBpoll\fP(2) (Linux 2.6.24 以降)、 \fBnanosleep\fP(2) (Linux 2.6 以降)、
59+\fBclock_nanosleep\fP(2) (Linux 2.6 以降)、 \fBFUTEX_WAIT\fP (Linux 2.6.22 以降) や
60+\fBFUTEX_WAIT_BITSET\fP (Linux 2.6.31 以降) 操作を利用した場合の \fBfutex\fP(2) である。
61+\fBrestart_syscall\fP() は、 中断されたシステムコールを、 経過した時間 (プロセスがシグナルにより停止されていた時間も含む)
62+を考慮に入れて適切に調整した時刻引き数で再開する。 \fBrestart_syscall\fP() の仕組みがないと、 これらのシステムコールの再開で、
63+プロセスが実行を継続する際にすでに経過した時間を正しく減算できない。
64+.SH 返り値
65+\fBrestart_syscall\fP() の返り値は、 再開中のシステムコールの返り値となる。
66+.SH エラー
67+\fIerrno\fP は \fBrestart_syscall\fP() が再開しているシステムコールのエラーに基づいて設定される。
68+.SH バージョン
69+\fBrestart_syscall\fP() システムコールは Linux 2.6 以降に存在する。
70+.SH 準拠
71+このシステムコールは Linux 固有である。
72+.SH 注意
73+このシステムコールには glibc のラッパー関数はない。 それはカーネルによる利用だけが想定されており、
74+アプリケーションは決してこのシステムコールを呼び出すべきではない。
75+
76+カーネルは \fBrestart_syscall\fP() を使用することで、 シグナルにより停止されたプロセスが \fBSIGCONT\fP
77+により再開された後にシステムコールが再開される際に、 元のシステムコールに指定されたタイムアウト時間の計算に、
78+プロセスが停止中に経過した時間が含まれることを保証する。 タイムアウト引き数を取り、停止シグナルの後に \fBSIGCONT\fP
79+があった場合自動的に再開するシステムコールだが、 そのシステムコールに \fBrestart_syscall\fP() の仕組みが組込まれていない場合には、
80+プロセスの実行が再開された後、 停止中にプロセスが消費した時間はタイムアウト値としてカウント「されない」。 この問題を持つ有名なシステムコールとしては
81+\fBppoll\fP(2), \fBselect\fP(2), \fBpselect\fP(2) がある。
82+
83+ユーザー空間からは \fBrestart_syscall\fP() の動作はほとんど見えない。 再開されたシステムコールを呼び出したプロセスには、
84+そのシステムコールが通常通り実行され返ったように見える。
85+.SH 関連項目
86+.\" FIXME . ppoll(2), select(2), and pselect(2)
87+.\" should probably get the restart_syscall() treatment:
88+.\" If a select() call is suspended by stop-sig+SIGCONT, the time
89+.\" spent suspended is *not* deducted when the select() is restarted.
90+.\" FIXME . check whether recvmmsg() handles stop-sig+SIGCONT properly.
91+\fBsigaction\fP(2), \fBsigreturn\fP(2), \fBsignal\fP(7)
92+.SH この文書について
93+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部である。
94+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。
--- a/po4a/signal/po/ja.po
+++ b/po4a/signal/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
77 msgstr ""
88 "Project-Id-Version: PACKAGE VERSION\n"
99 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10-"PO-Revision-Date: 2015-01-25 07:25+0900\n"
10+"PO-Revision-Date: 2015-01-25 19:43+0900\n"
1111 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1212 "Language-Team: LANGUAGE <LL@li.org>\n"
1313 "Language: \n"
@@ -4300,7 +4300,7 @@ msgstr ""
43004300 #: build/C/man2/restart_syscall.2:33
43014301 #, no-wrap
43024302 msgid "RESTART_SYSCALL"
4303-msgstr ""
4303+msgstr "RESTART_SYSCALL"
43044304
43054305 #. type: Plain text
43064306 #: build/C/man2/restart_syscall.2:36
@@ -4328,7 +4328,7 @@ msgid ""
43284328 "calls after a process that was stopped by a signal (e.g., B<SIGSTOP> or "
43294329 "B<SIGTSTP>) is later resumed after receiving a B<SIGCONT> signal. This "
43304330 "system call is designed only for internal use by the kernel."
4331-msgstr ""
4331+msgstr "B<restart_syscall>() システムコールは、 シグナル (B<SIGSTOP> や B<SIGTSTP> など) によって停止されたプロセスが B<SIGCONT> シグナルを受信して再開された後に、 特定のシステムコールを再開するのに使用される。 このシステムコールはカーネル内部での利用のみを想定している。"
43324332
43334333 #. These system calls correspond to the special internal errno value
43344334 #. ERESTART_RESTARTBLOCK. Each of the system calls has a "restart"
@@ -4351,21 +4351,21 @@ msgid ""
43514351 "stopped by a signal). Without the B<restart_syscall>() mechanism, "
43524352 "restarting these system calls would not correctly deduct the already elapsed "
43534353 "time when the process continued execution."
4354-msgstr ""
4354+msgstr "B<restart_syscall>() は、 再開時に時刻関連のパラメーターを調整する必要があるシステムコールを再開させる場合にのみ使用される。 概要するシステムコールは B<poll>(2) (Linux 2.6.24 以降)、 B<nanosleep>(2) (Linux 2.6 以降)、 B<clock_nanosleep>(2) (Linux 2.6 以降)、 B<FUTEX_WAIT> (Linux 2.6.22 以降) や B<FUTEX_WAIT_BITSET> (Linux 2.6.31 以降) 操作を利用した場合の B<futex>(2) である。 B<restart_syscall>() は、 中断されたシステムコールを、 経過した時間 (プロセスがシグナルにより停止されていた時間も含む) を考慮に入れて適切に調整した時刻引き数で再開する。 B<restart_syscall>() の仕組みがないと、 これらのシステムコールの再開で、 プロセスが実行を継続する際にすでに経過した時間を正しく減算できない。"
43554355
43564356 #. type: Plain text
43574357 #: build/C/man2/restart_syscall.2:92
43584358 msgid ""
43594359 "The return value of B<restart_syscall>() is the return value of whatever "
43604360 "system call is being restarted."
4361-msgstr ""
4361+msgstr "B<restart_syscall>() の返り値は、 再開中のシステムコールの返り値となる。"
43624362
43634363 #. type: Plain text
43644364 #: build/C/man2/restart_syscall.2:96
43654365 msgid ""
43664366 "I<errno> is set as per the errors for whatever system call is being "
43674367 "restarted by B<restart_syscall>()."
4368-msgstr ""
4368+msgstr "I<errno> は B<restart_syscall>() が再開しているシステムコールのエラーに基づいて設定される。"
43694369
43704370 #. type: Plain text
43714371 #: build/C/man2/restart_syscall.2:100
@@ -4382,7 +4382,7 @@ msgstr "このシステムコールは Linux 固有である。"
43824382 msgid ""
43834383 "There is no glibc wrapper for this system call, because it is intended for "
43844384 "use only by the kernel and should never be called by applications."
4385-msgstr ""
4385+msgstr "このシステムコールには glibc のラッパー関数はない。 それはカーネルによる利用だけが想定されており、 アプリケーションは決してこのシステムコールを呼び出すべきではない。"
43864386
43874387 #. type: Plain text
43884388 #: build/C/man2/restart_syscall.2:128
@@ -4397,7 +4397,7 @@ msgid ""
43974397 "execution, the time that the process spent in the stop state is I<not> "
43984398 "counted against the timeout value. Notable examples of system calls that "
43994399 "suffer this problem are B<ppoll>(2), B<select>(2), and B<pselect>(2)."
4400-msgstr ""
4400+msgstr "カーネルは B<restart_syscall>() を使用することで、 シグナルにより停止されたプロセスが B<SIGCONT> により再開された後にシステムコールが再開される際に、 元のシステムコールに指定されたタイムアウト時間の計算に、 プロセスが停止中に経過した時間が含まれることを保証する。 タイムアウト引き数を取り、停止シグナルの後に B<SIGCONT> があった場合自動的に再開するシステムコールだが、 そのシステムコールに B<restart_syscall>() の仕組みが組込まれていない場合には、 プロセスの実行が再開された後、 停止中にプロセスが消費した時間はタイムアウト値としてカウント「されない」。 この問題を持つ有名なシステムコールとしては B<ppoll>(2), B<select>(2), B<pselect>(2) がある。"
44014401
44024402 #
44034403 #. type: Plain text
@@ -4407,7 +4407,7 @@ msgid ""
44074407 "invisible: to the process that made the system call that is restarted, it "
44084408 "appears as though that system call executed and returned in the usual "
44094409 "fashion."
4410-msgstr ""
4410+msgstr "ユーザー空間からは B<restart_syscall>() の動作はほとんど見えない。 再開されたシステムコールを呼び出したプロセスには、 そのシステムコールが通常通り実行され返ったように見える。"
44114411
44124412 #. FIXME . ppoll(2), select(2), and pselect(2)
44134413 #. should probably get the restart_syscall() treatment:
--- /dev/null
+++ b/release/man2/restart_syscall.2
@@ -0,0 +1,94 @@
1+.\" Copyright (c) 2013 by Michael Kerrisk <mtk.manpages@gmail.com>
2+.\"
3+.\" %%%LICENSE_START(VERBATIM)
4+.\" Permission is granted to make and distribute verbatim copies of this
5+.\" manual provided the copyright notice and this permission notice are
6+.\" preserved on all copies.
7+.\"
8+.\" Permission is granted to copy and distribute modified versions of this
9+.\" manual under the conditions for verbatim copying, provided that the
10+.\" entire resulting derived work is distributed under the terms of a
11+.\" permission notice identical to this one.
12+.\"
13+.\" Since the Linux kernel and libraries are constantly changing, this
14+.\" manual page may be incorrect or out-of-date. The author(s) assume no
15+.\" responsibility for errors or omissions, or for damages resulting from
16+.\" the use of the information contained herein. The author(s) may not
17+.\" have taken the same level of care in the production of this manual,
18+.\" which is licensed free of charge, as they might when working
19+.\" professionally.
20+.\"
21+.\" Formatted or processed versions of this manual, if unaccompanied by
22+.\" the source, must acknowledge the copyright and authors of this work.
23+.\" %%%LICENSE_END
24+.\"
25+.\" http://thread.gmane.org/gmane.linux.kernel/76552/focus=76803
26+.\" From: Linus Torvalds <torvalds <at> transmeta.com>
27+.\" Subject: Re: [PATCH] compatibility syscall layer (lets try again)
28+.\" Newsgroups: gmane.linux.kernel
29+.\" Date: 2002-12-05 02:51:12 GMT
30+.\"
31+.\" See also Section 11.3.3 of Understanding the Linux Kernel, 3rd edition
32+.\"
33+.\"*******************************************************************
34+.\"
35+.\" This file was generated with po4a. Translate the source file.
36+.\"
37+.\"*******************************************************************
38+.TH RESTART_SYSCALL 2 2014\-12\-31 Linux "Linux Programmer's Manual"
39+.SH 名前
40+restart_syscall \- 一時停止シグナルによる割り込み後にシステムコールを再開する
41+.SH 書式
42+\fBint restart_syscall(void);\fP
43+
44+\fI注\fP: このシステムコールには、glibc のラッパー関数はない。「注意」の節を参照。
45+.SH 説明
46+\fBrestart_syscall\fP() システムコールは、 シグナル (\fBSIGSTOP\fP や \fBSIGTSTP\fP など)
47+によって停止されたプロセスが \fBSIGCONT\fP シグナルを受信して再開された後に、 特定のシステムコールを再開するのに使用される。
48+このシステムコールはカーネル内部での利用のみを想定している。
49+
50+.\" These system calls correspond to the special internal errno value
51+.\" ERESTART_RESTARTBLOCK. Each of the system calls has a "restart"
52+.\" helper function that is invoked by restart_syscall().
53+.\" Notable (as at Linux 3.17) is that poll() has such a "restart"
54+.\" function, but ppoll(), select(), and pselect() do not.
55+.\" This means that the latter system calls do not take account of the
56+.\" time spent in the stopped state when restarting.
57+\fBrestart_syscall\fP() は、 再開時に時刻関連のパラメーターを調整する必要があるシステムコールを再開させる場合にのみ使用される。
58+概要するシステムコールは \fBpoll\fP(2) (Linux 2.6.24 以降)、 \fBnanosleep\fP(2) (Linux 2.6 以降)、
59+\fBclock_nanosleep\fP(2) (Linux 2.6 以降)、 \fBFUTEX_WAIT\fP (Linux 2.6.22 以降) や
60+\fBFUTEX_WAIT_BITSET\fP (Linux 2.6.31 以降) 操作を利用した場合の \fBfutex\fP(2) である。
61+\fBrestart_syscall\fP() は、 中断されたシステムコールを、 経過した時間 (プロセスがシグナルにより停止されていた時間も含む)
62+を考慮に入れて適切に調整した時刻引き数で再開する。 \fBrestart_syscall\fP() の仕組みがないと、 これらのシステムコールの再開で、
63+プロセスが実行を継続する際にすでに経過した時間を正しく減算できない。
64+.SH 返り値
65+\fBrestart_syscall\fP() の返り値は、 再開中のシステムコールの返り値となる。
66+.SH エラー
67+\fIerrno\fP は \fBrestart_syscall\fP() が再開しているシステムコールのエラーに基づいて設定される。
68+.SH バージョン
69+\fBrestart_syscall\fP() システムコールは Linux 2.6 以降に存在する。
70+.SH 準拠
71+このシステムコールは Linux 固有である。
72+.SH 注意
73+このシステムコールには glibc のラッパー関数はない。 それはカーネルによる利用だけが想定されており、
74+アプリケーションは決してこのシステムコールを呼び出すべきではない。
75+
76+カーネルは \fBrestart_syscall\fP() を使用することで、 シグナルにより停止されたプロセスが \fBSIGCONT\fP
77+により再開された後にシステムコールが再開される際に、 元のシステムコールに指定されたタイムアウト時間の計算に、
78+プロセスが停止中に経過した時間が含まれることを保証する。 タイムアウト引き数を取り、停止シグナルの後に \fBSIGCONT\fP
79+があった場合自動的に再開するシステムコールだが、 そのシステムコールに \fBrestart_syscall\fP() の仕組みが組込まれていない場合には、
80+プロセスの実行が再開された後、 停止中にプロセスが消費した時間はタイムアウト値としてカウント「されない」。 この問題を持つ有名なシステムコールとしては
81+\fBppoll\fP(2), \fBselect\fP(2), \fBpselect\fP(2) がある。
82+
83+ユーザー空間からは \fBrestart_syscall\fP() の動作はほとんど見えない。 再開されたシステムコールを呼び出したプロセスには、
84+そのシステムコールが通常通り実行され返ったように見える。
85+.SH 関連項目
86+.\" FIXME . ppoll(2), select(2), and pselect(2)
87+.\" should probably get the restart_syscall() treatment:
88+.\" If a select() call is suspended by stop-sig+SIGCONT, the time
89+.\" spent suspended is *not* deducted when the select() is restarted.
90+.\" FIXME . check whether recvmmsg() handles stop-sig+SIGCONT properly.
91+\fBsigaction\fP(2), \fBsigreturn\fP(2), \fBsignal\fP(7)
92+.SH この文書について
93+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部である。
94+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。
--- a/stats/signal
+++ b/stats/signal
@@ -1,6 +1,5 @@
11 # pagename,#complete,#remaining,#all
22 prctl.2,199,19,218
3-restart_syscall.2,20,8,28
43 rt_sigqueueinfo.2,30,18,48
54 s390_runtime_instr.2,20,11,31
65 timer_create.2,68,38,106
--- a/translation_list
+++ b/translation_list
@@ -306,7 +306,7 @@
306306 @:LDP man-pages:3.78:2014/08/19:renameat:2:rename:2:
307307 @:LDP man-pages:3.78:2014/08/19:renameat2:2:rename:2:
308308 ×:LDP man-pages:3.78:2010/02/25:request_key:2:::::
309-×:LDP man-pages:3.78:2014/12/31:restart_syscall:2:::::
309+○:LDP man-pages:3.78:2014/12/31:restart_syscall:2:2015/01/25::amotoki@gmail.com:Akihiro Motoki:
310310 ○:LDP man-pages:3.78:2008/05/08:rmdir:2:2015/01/24::amotoki@gmail.com:Akihiro Motoki:
311311 @:LDP man-pages:3.78:2015/01/22:rt_sigaction:2:sigaction:2:
312312 @:LDP man-pages:3.78:2013/12/11:rt_sigpending:2:sigpending:2:
--- a/untrans.html
+++ b/untrans.html
@@ -52,7 +52,6 @@
5252 <TR><TD>seccomp.2</TD><TD>65/144</TD><TD>54.86</TD></TR>
5353 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>signal</B></TD></TR>
5454 <TR class="over80"><TD>prctl.2</TD><TD>19/218</TD><TD>91.28</TD></TR>
55-<TR class="over70"><TD>restart_syscall.2</TD><TD>8/28</TD><TD>71.43</TD></TR>
5655 <TR><TD>rt_sigqueueinfo.2</TD><TD>18/48</TD><TD>62.50</TD></TR>
5756 <TR><TD>s390_runtime_instr.2</TD><TD>11/31</TD><TD>64.52</TD></TR>
5857 <TR><TD>timer_create.2</TD><TD>38/106</TD><TD>64.15</TD></TR>
@@ -65,6 +64,6 @@
6564 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>stdlib</B></TD></TR>
6665 <TR><TD>getauxval.3</TD><TD>34/86</TD><TD>60.47</TD></TR>
6766 <TR class="over80"><TD>vdso.7</TD><TD>8/184</TD><TD>95.65</TD></TR>
68-<TR><TD COLSPAN=3>Total 41 pages</TD></TR>
67+<TR><TD COLSPAN=3>Total 40 pages</TD></TR>
6968 </TABLE>
7069 </BODY></HTML>
Show on old repository browser