slave 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,458 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Slave::Heartbeat</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <h1>Slave::Heartbeat <sup class="type-note">(Class)</sup></h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>In:</strong></td>
54
- <td>
55
- <a href="../../files/lib/slave_rb.html">
56
- lib/slave.rb
57
- </a>
58
- <br />
59
- </td>
60
- </tr>
61
-
62
- <tr class="top-aligned-row">
63
- <td><strong>Parent:</strong></td>
64
- <td>
65
- Object
66
- </td>
67
- </tr>
68
- </table>
69
- </div>
70
- <!-- banner header -->
71
-
72
- <div id="bodyContent">
73
-
74
-
75
- <div id="contextContent">
76
- <div id="diagram">
77
- <map name="map">
78
- <area shape="RECT" coords="123,98,195,50" href="../o.html" alt="o">
79
- <area shape="RECT" coords="27,98,99,50" href="../Slave.html" alt="Slave">
80
- </map>
81
- <img src="../../dot/f_1.jpg" usemap="#map" border=0 alt="TopLevel">
82
- </div>
83
-
84
- <div id="description">
85
- <p>
86
- the <a href="Heartbeat.html">Heartbeat</a> class is essentially wrapper
87
- over an IPC channel that sends a ping on the channel indicating process
88
- health. if either end of the channel is detached the ping will fail and an
89
- error will be raised. in this way it is ensured that <a
90
- href="../Slave.html">Slave</a> objects cannot continue to live without
91
- their parent being alive.
92
- </p>
93
-
94
- </div>
95
-
96
-
97
- <div id="method-list">
98
- <h2 class="section-bar">Methods</h2>
99
-
100
- <div class="name-list">
101
- <a href="#M000018">child_start</a>&nbsp;&nbsp;
102
- <a href="#M000021">child_start</a>&nbsp;&nbsp;
103
- <a href="#M000015">new</a>&nbsp;&nbsp;
104
- <a href="#M000017">parent_start</a>&nbsp;&nbsp;
105
- <a href="#M000020">parent_start</a>&nbsp;&nbsp;
106
- <a href="#M000016">start</a>&nbsp;&nbsp;
107
- <a href="#M000019">start</a>&nbsp;&nbsp;
108
- <a href="#M000022">stop</a>&nbsp;&nbsp;
109
- <a href="#M000023">trace</a>&nbsp;&nbsp;
110
- </div>
111
- </div>
112
-
113
-
114
-
115
-
116
-
117
-
118
- </div>
119
-
120
-
121
-
122
- <!-- if includes -->
123
-
124
-
125
- <!-- if method_list -->
126
- <div id="methods">
127
- <h2 class="section-bar">Public Class methods</h2>
128
-
129
- <div id="method-M000015" class="method-detail">
130
- <a name="M000015"></a>
131
-
132
- <div class="method-heading">
133
- <a href="#M000015" class="method-signature">
134
- <span class="method-name">new</span><span class="method-args">pulse_rate = 4.2, debug = false</span>
135
- </a>
136
- </div>
137
-
138
- <div class="method-description">
139
- <p><a class="source-toggle" href="#"
140
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
141
- <div class="method-source-code" id="M000015-source">
142
- <pre>
143
- <span class="ruby-comment cmt"># File lib/slave.rb, line 394</span>
144
- 394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">pulse_rate</span> = <span class="ruby-value">4.2</span>, <span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">false</span>
145
- 395: <span class="ruby-comment cmt">#--{{{</span>
146
- 396: <span class="ruby-ivar">@pulse_rate</span> = <span class="ruby-constant">Float</span> <span class="ruby-identifier">pulse_rate</span>
147
- 397: <span class="ruby-ivar">@debug</span> = <span class="ruby-identifier">debug</span>
148
- 398: <span class="ruby-ivar">@r</span>, <span class="ruby-ivar">@w</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-identifier">pipe</span>
149
- 399: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
150
- 400: <span class="ruby-ivar">@ppid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">ppid</span>
151
- 401: <span class="ruby-ivar">@cid</span> = <span class="ruby-keyword kw">nil</span>
152
- 402: <span class="ruby-ivar">@thread</span> = <span class="ruby-keyword kw">nil</span>
153
- 403: <span class="ruby-ivar">@ppid</span> = <span class="ruby-keyword kw">nil</span>
154
- 404: <span class="ruby-ivar">@whoami</span> = <span class="ruby-keyword kw">nil</span>
155
- 405: <span class="ruby-ivar">@beating</span> = <span class="ruby-keyword kw">nil</span>
156
- 406: <span class="ruby-ivar">@pipe</span> = <span class="ruby-keyword kw">nil</span>
157
- 407: <span class="ruby-comment cmt">#--}}}</span>
158
- 408: <span class="ruby-keyword kw">end</span>
159
- </pre>
160
- </div>
161
- </div>
162
- </div>
163
-
164
- <h2 class="section-bar">Public Instance methods</h2>
165
-
166
- <div id="method-M000018" class="method-detail">
167
- <a name="M000018"></a>
168
-
169
- <div class="method-heading">
170
- <a href="#M000018" class="method-signature">
171
- <span class="method-name">child_start</span><span class="method-args">()</span>
172
- </a>
173
- </div>
174
-
175
- <div class="method-description">
176
- <p><a class="source-toggle" href="#"
177
- onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000018-source">
179
- <pre>
180
- <span class="ruby-comment cmt"># File lib/slave.rb, line 443</span>
181
- 443: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">child_start</span>
182
- 444: <span class="ruby-comment cmt">#--{{{</span>
183
- 445: <span class="ruby-ivar">@whoami</span> = <span class="ruby-value str">'child'</span>
184
- 446: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
185
- 447: <span class="ruby-ivar">@ppid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">ppid</span>
186
- 448: <span class="ruby-ivar">@thread</span> =
187
- 449: <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">current</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cur</span><span class="ruby-operator">|</span>
188
- 450: <span class="ruby-keyword kw">begin</span>
189
- 451: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
190
- 452: <span class="ruby-identifier">trace</span>{ <span class="ruby-node">&quot;&lt;#{ @whoami }&gt; &lt;#{ @pid }&gt; puts &lt;#{ @pid }&gt;&quot;</span> }
191
- 453: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@pid</span>
192
- 454: <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-value">0</span>, <span class="ruby-ivar">@ppid</span>
193
- 455: <span class="ruby-identifier">sleep</span> <span class="ruby-ivar">@pulse_rate</span>
194
- 456: <span class="ruby-keyword kw">end</span>
195
- 457: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
196
- 458: <span class="ruby-identifier">cur</span>.<span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
197
- 459: <span class="ruby-keyword kw">ensure</span>
198
- 460: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
199
- 461: <span class="ruby-keyword kw">end</span>
200
- 462: <span class="ruby-keyword kw">end</span>
201
- 463: <span class="ruby-comment cmt">#--}}}</span>
202
- 464: <span class="ruby-keyword kw">end</span>
203
- </pre>
204
- </div>
205
- </div>
206
- </div>
207
-
208
- <div id="method-M000021" class="method-detail">
209
- <a name="M000021"></a>
210
-
211
- <div class="method-heading">
212
- <a href="#M000021" class="method-signature">
213
- <span class="method-name">child_start</span><span class="method-args">()</span>
214
- </a>
215
- </div>
216
-
217
- <div class="method-description">
218
- <p><a class="source-toggle" href="#"
219
- onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
220
- <div class="method-source-code" id="M000021-source">
221
- <pre>
222
- <span class="ruby-comment cmt"># File lib/slave.rb, line 496</span>
223
- 496: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">child_start</span>
224
- 497: <span class="ruby-comment cmt">#--{{{</span>
225
- 498: <span class="ruby-ivar">@whoami</span> = <span class="ruby-value str">'child'</span>
226
- 499: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
227
- 500: <span class="ruby-ivar">@ppid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">ppid</span>
228
- 501: <span class="ruby-ivar">@thread</span> =
229
- 502: <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">current</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cur</span><span class="ruby-operator">|</span>
230
- 503: <span class="ruby-keyword kw">begin</span>
231
- 504: <span class="ruby-identifier">trace</span>{ <span class="ruby-value str">&quot;child reading...&quot;</span> }
232
- 505: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">read</span>
233
- 506: <span class="ruby-identifier">trace</span>{ <span class="ruby-value str">&quot;child read.&quot;</span> }
234
- 507: <span class="ruby-identifier">trace</span>{ <span class="ruby-value str">&quot;child exiting.&quot;</span> }
235
- 508: <span class="ruby-identifier">exit</span>
236
- 509: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
237
- 510: <span class="ruby-identifier">cur</span>.<span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
238
- 511: <span class="ruby-keyword kw">ensure</span>
239
- 512: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
240
- 513: <span class="ruby-keyword kw">end</span>
241
- 514: <span class="ruby-keyword kw">end</span>
242
- 515: <span class="ruby-comment cmt">#--}}}</span>
243
- 516: <span class="ruby-keyword kw">end</span>
244
- </pre>
245
- </div>
246
- </div>
247
- </div>
248
-
249
- <div id="method-M000017" class="method-detail">
250
- <a name="M000017"></a>
251
-
252
- <div class="method-heading">
253
- <a href="#M000017" class="method-signature">
254
- <span class="method-name">parent_start</span><span class="method-args">()</span>
255
- </a>
256
- </div>
257
-
258
- <div class="method-description">
259
- <p><a class="source-toggle" href="#"
260
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
261
- <div class="method-source-code" id="M000017-source">
262
- <pre>
263
- <span class="ruby-comment cmt"># File lib/slave.rb, line 424</span>
264
- 424: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parent_start</span>
265
- 425: <span class="ruby-comment cmt">#--{{{</span>
266
- 426: <span class="ruby-ivar">@whoami</span> = <span class="ruby-value str">'parent'</span>
267
- 427: <span class="ruby-ivar">@thread</span> =
268
- 428: <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">current</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cur</span><span class="ruby-operator">|</span>
269
- 429: <span class="ruby-keyword kw">begin</span>
270
- 430: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
271
- 431: <span class="ruby-identifier">buf</span> = <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">gets</span>
272
- 432: <span class="ruby-identifier">trace</span>{ <span class="ruby-node">&quot;&lt;#{ @whoami }&gt; &lt;#{ @pid }&gt; gets &lt;#{ buf.inspect }&gt;&quot;</span> }
273
- 433: <span class="ruby-ivar">@cid</span> = <span class="ruby-constant">Integer</span> <span class="ruby-identifier">buf</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cid</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">buf</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%/^\s*\d+\s*$/</span>
274
- 434: <span class="ruby-keyword kw">end</span>
275
- 435: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
276
- 436: <span class="ruby-identifier">cur</span>.<span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
277
- 437: <span class="ruby-keyword kw">ensure</span>
278
- 438: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
279
- 439: <span class="ruby-keyword kw">end</span>
280
- 440: <span class="ruby-keyword kw">end</span>
281
- 441: <span class="ruby-comment cmt">#--}}}</span>
282
- 442: <span class="ruby-keyword kw">end</span>
283
- </pre>
284
- </div>
285
- </div>
286
- </div>
287
-
288
- <div id="method-M000020" class="method-detail">
289
- <a name="M000020"></a>
290
-
291
- <div class="method-heading">
292
- <a href="#M000020" class="method-signature">
293
- <span class="method-name">parent_start</span><span class="method-args">()</span>
294
- </a>
295
- </div>
296
-
297
- <div class="method-description">
298
- <p><a class="source-toggle" href="#"
299
- onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
300
- <div class="method-source-code" id="M000020-source">
301
- <pre>
302
- <span class="ruby-comment cmt"># File lib/slave.rb, line 481</span>
303
- 481: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parent_start</span>
304
- 482: <span class="ruby-comment cmt">#--{{{</span>
305
- 483: <span class="ruby-ivar">@whoami</span> = <span class="ruby-value str">'parent'</span>
306
- 484: <span class="ruby-ivar">@thread</span> =
307
- 485: <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">current</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cur</span><span class="ruby-operator">|</span>
308
- 486: <span class="ruby-keyword kw">begin</span>
309
- 487: <span class="ruby-identifier">sleep</span>
310
- 488: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
311
- 489: <span class="ruby-identifier">cur</span>.<span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
312
- 490: <span class="ruby-keyword kw">ensure</span>
313
- 491: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
314
- 492: <span class="ruby-keyword kw">end</span>
315
- 493: <span class="ruby-keyword kw">end</span>
316
- 494: <span class="ruby-comment cmt">#--}}}</span>
317
- 495: <span class="ruby-keyword kw">end</span>
318
- </pre>
319
- </div>
320
- </div>
321
- </div>
322
-
323
- <div id="method-M000016" class="method-detail">
324
- <a name="M000016"></a>
325
-
326
- <div class="method-heading">
327
- <a href="#M000016" class="method-signature">
328
- <span class="method-name">start</span><span class="method-args">()</span>
329
- </a>
330
- </div>
331
-
332
- <div class="method-description">
333
- <p><a class="source-toggle" href="#"
334
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
335
- <div class="method-source-code" id="M000016-source">
336
- <pre>
337
- <span class="ruby-comment cmt"># File lib/slave.rb, line 409</span>
338
- 409: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
339
- 410: <span class="ruby-comment cmt">#--{{{</span>
340
- 411: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@pid</span>
341
- 412: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">close</span>
342
- 413: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@r</span>
343
- 414: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">fcntl</span> <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>, <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">FD_CLOEXEC</span>
344
- 415: <span class="ruby-identifier">parent_start</span>
345
- 416: <span class="ruby-keyword kw">else</span>
346
- 417: <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">close</span>
347
- 418: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@w</span>
348
- 419: <span class="ruby-identifier">child_start</span>
349
- 420: <span class="ruby-keyword kw">end</span>
350
- 421: <span class="ruby-ivar">@beating</span> = <span class="ruby-keyword kw">true</span>
351
- 422: <span class="ruby-comment cmt">#--}}}</span>
352
- 423: <span class="ruby-keyword kw">end</span>
353
- </pre>
354
- </div>
355
- </div>
356
- </div>
357
-
358
- <div id="method-M000019" class="method-detail">
359
- <a name="M000019"></a>
360
-
361
- <div class="method-heading">
362
- <a href="#M000019" class="method-signature">
363
- <span class="method-name">start</span><span class="method-args">()</span>
364
- </a>
365
- </div>
366
-
367
- <div class="method-description">
368
- <p><a class="source-toggle" href="#"
369
- onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
370
- <div class="method-source-code" id="M000019-source">
371
- <pre>
372
- <span class="ruby-comment cmt"># File lib/slave.rb, line 466</span>
373
- 466: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
374
- 467: <span class="ruby-comment cmt">#--{{{</span>
375
- 468: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@pid</span>
376
- 469: <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">close</span>
377
- 470: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@w</span>
378
- 471: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">fcntl</span> <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>, <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">FD_CLOEXEC</span>
379
- 472: <span class="ruby-identifier">parent_start</span>
380
- 473: <span class="ruby-keyword kw">else</span>
381
- 474: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">close</span>
382
- 475: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@r</span>
383
- 476: <span class="ruby-identifier">child_start</span>
384
- 477: <span class="ruby-keyword kw">end</span>
385
- 478: <span class="ruby-ivar">@beating</span> = <span class="ruby-keyword kw">true</span>
386
- 479: <span class="ruby-comment cmt">#--}}}</span>
387
- 480: <span class="ruby-keyword kw">end</span>
388
- </pre>
389
- </div>
390
- </div>
391
- </div>
392
-
393
- <div id="method-M000022" class="method-detail">
394
- <a name="M000022"></a>
395
-
396
- <div class="method-heading">
397
- <a href="#M000022" class="method-signature">
398
- <span class="method-name">stop</span><span class="method-args">()</span>
399
- </a>
400
- </div>
401
-
402
- <div class="method-description">
403
- <p><a class="source-toggle" href="#"
404
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
405
- <div class="method-source-code" id="M000022-source">
406
- <pre>
407
- <span class="ruby-comment cmt"># File lib/slave.rb, line 517</span>
408
- 517: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
409
- 518: <span class="ruby-comment cmt">#--{{{</span>
410
- 519: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;not beating&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@beating</span>
411
- 520: <span class="ruby-ivar">@thread</span>.<span class="ruby-identifier">kill</span>
412
- 521: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
413
- 522: <span class="ruby-ivar">@beating</span> = <span class="ruby-keyword kw">false</span>
414
- 523: <span class="ruby-comment cmt">#--}}}</span>
415
- 524: <span class="ruby-keyword kw">end</span>
416
- </pre>
417
- </div>
418
- </div>
419
- </div>
420
-
421
- <div id="method-M000023" class="method-detail">
422
- <a name="M000023"></a>
423
-
424
- <div class="method-heading">
425
- <a href="#M000023" class="method-signature">
426
- <span class="method-name">trace</span><span class="method-args">() {|| ...}</span>
427
- </a>
428
- </div>
429
-
430
- <div class="method-description">
431
- <p><a class="source-toggle" href="#"
432
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
433
- <div class="method-source-code" id="M000023-source">
434
- <pre>
435
- <span class="ruby-comment cmt"># File lib/slave.rb, line 525</span>
436
- 525: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">trace</span>
437
- 526: <span class="ruby-comment cmt">#--{{{</span>
438
- 527: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-keyword kw">yield</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@debug</span> <span class="ruby-keyword kw">and</span> <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">tty?</span>
439
- 528: <span class="ruby-comment cmt">#--}}}</span>
440
- 529: <span class="ruby-keyword kw">end</span>
441
- </pre>
442
- </div>
443
- </div>
444
- </div>
445
-
446
-
447
- </div>
448
-
449
-
450
- </div>
451
-
452
-
453
- <div id="validator-badges">
454
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
455
- </div>
456
-
457
- </body>
458
- </html>