-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathconstruct.xml
159 lines (158 loc) · 5.25 KB
/
construct.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 33e5f4ef7243bc1282acb1cba93e8f99c1debe68 Maintainer: takagi Status: ready -->
<refentry xml:id="evchild.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvChild::__construct</refname>
<refpurpose>EvChild ウォッチャーオブジェクトを作る</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<constructorsynopsis>
<modifier>public</modifier>
<methodname>EvChild::__construct</methodname>
<methodparam>
<type>int</type>
<parameter>pid</parameter>
</methodparam>
<methodparam>
<type>bool</type>
<parameter>trace</parameter>
</methodparam>
<methodparam>
<type>callable</type>
<parameter>callback</parameter>
</methodparam>
<methodparam
choice="opt">
<type>mixed</type>
<parameter>data</parameter>
<initializer>&null;</initializer>
</methodparam>
<methodparam
choice="opt">
<type>int</type>
<parameter>priority</parameter>
<initializer>0</initializer>
</methodparam>
</constructorsynopsis>
<para>
<classname>EvChild</classname> ウォッチャーオブジェクトを作ります。
</para>
<para>
プロセス ID <parameter>pid</parameter>
(<parameter>pid</parameter> is <constant>0</constant> の場合は任意の <emphasis>PID</emphasis>)
の状態の変更を受信したときに、コールバックを呼びます
(状態が変わるのは、プロセスが停止したり強制終了させられたり、
<parameter>trace</parameter> が &true; になったり、さらにプロセスを一時停止したり再開したりしたときです)。
言い換えると、あるプロセスが <constant>SIGCHLD</constant> を受信したときに、
<emphasis>Ev</emphasis> はすべての変更された子プロセスやゾンビ子プロセスの exit/wait
状態を取得してコールバックを呼びます。
</para>
<para>
<classname>EvChild</classname> が終了してから child ウォッチャーをインストールしてもかまいませんが、
イベントループが次のイテレーションを始める前でないといけません。
たとえば、最初のプロセスが <literal>fork</literal> した後で新しい子プロセスが終了するかもしれません。
そのときは、新しい <emphasis>PID</emphasis> の親にだけ
<classname>EvChild</classname> ウォッチャーをインストールできます。
</para>
<para>
exit/tracing ステータスや <parameter>pid</parameter> にアクセスするには、
ウォッチャーオブジェクトのプロパティ <varname>rstatus</varname> および <varname>rpid</varname>
を使います。
</para>
<para>
一つの <emphasis>PID</emphasis> に対する <emphasis>PID</emphasis>
ウォッチャーの数は無制限で、すべてが呼び出されます。
</para>
<para>
<methodname>EvChild::createStopped</methodname>
メソッドは、新しく作ったウォッチャーを開始させません。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term>
<parameter>pid</parameter>
</term>
<listitem>
<para>
状態の変更を待つプロセスの PID (<constant>0</constant> にすると、すべてのプロセスを対象にします)。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>trace</parameter>
</term>
<listitem>
<para>
&false; にすると、プロセスが終了したときにだけウォッチャーをアクティブにします。
&true; の場合は、プロセスが一時停止したり再開したりしたときにもウォッチャーをアクティブにします。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>callback</parameter>
</term>
<listitem>
<para>
<link linkend="ev.watcher-callbacks">ウォッチャーのコールバック</link>
を参照ください。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>data</parameter>
</term>
<listitem>
<para>
このウォッチャーに関連づけるカスタムデータ。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>priority</parameter>
</term>
<listitem>
<para>
<link linkend="ev.constants.watcher-pri">ウォッチャーの優先度</link>。
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member>
<methodname>EvLoop::child</methodname>
</member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->