celluloid 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,71 +11,65 @@ module Celluloid
11
11
  def initialize
12
12
  @messages = []
13
13
  @lock = Mutex.new
14
- @waker = Waker.new
14
+ @condition = ConditionVariable.new
15
+ @dead = false
15
16
  end
16
17
 
17
18
  # Add a message to the Mailbox
18
19
  def <<(message)
19
20
  @lock.synchronize do
21
+ raise MailboxError, "dead recipient" if @dead
22
+
20
23
  @messages << message
21
- @waker.signal
24
+ @condition.signal
22
25
  end
23
26
  nil
24
- rescue WakerError
25
- raise MailboxError, "dead recipient"
26
27
  end
27
28
 
28
29
  # Add a high-priority system event to the Mailbox
29
30
  def system_event(event)
30
31
  @lock.synchronize do
31
- @messages.unshift event
32
-
33
- begin
34
- @waker.signal
35
- rescue WakerError
36
- # Silently fail if messages are sent to dead actors
32
+ unless @dead # Silently fail if messages are sent to dead actors
33
+ @messages.unshift event
34
+ @condition.signal
37
35
  end
38
36
  end
39
37
  nil
40
38
  end
41
39
 
42
40
  # Receive a message from the Mailbox
43
- def receive(&block)
41
+ def receive
44
42
  message = nil
45
43
 
46
- begin
47
- @waker.wait
48
- message = locate(&block)
49
- raise message if message.is_a?(Celluloid::SystemEvent)
50
- end while message.nil?
51
-
52
- message
53
- rescue Celluloid::WakerError
54
- cleanup # force cleanup of the mailbox
55
- raise MailboxError, "mailbox cleanup called during receive"
56
- end
57
-
58
- # Locate and remove a message from the mailbox which matches the given filter
59
- def locate
60
44
  @lock.synchronize do
61
- if block_given?
62
- index = @messages.index do |msg|
63
- yield(msg) || msg.is_a?(Celluloid::SystemEvent)
64
- end
45
+ raise MailboxError, "attempted to receive from a dead mailbox" if @dead
65
46
 
66
- @messages.slice!(index, 1).first if index
67
- else
68
- @messages.shift
69
- end
47
+ begin
48
+ if block_given?
49
+ index = @messages.index do |msg|
50
+ yield(msg) || msg.is_a?(Celluloid::SystemEvent)
51
+ end
52
+
53
+ message = @messages.slice!(index, 1).first if index
54
+ else
55
+ message = @messages.shift
56
+ end
57
+
58
+ raise message if message.is_a?(Celluloid::SystemEvent)
59
+
60
+ @condition.wait(@lock) unless message
61
+ end until message
70
62
  end
63
+
64
+ message
71
65
  end
72
66
 
73
- # Cleanup any IO objects this Mailbox may be using
74
- def cleanup
67
+ # Shut down this mailbox and clean up its contents
68
+ def shutdown
75
69
  @lock.synchronize do
76
- @waker.cleanup
77
70
  @messages.each { |msg| msg.cleanup if msg.respond_to? :cleanup }
78
71
  @messages.clear
72
+ @dead = true
79
73
  end
80
74
  end
81
75
 
@@ -91,7 +85,7 @@ module Celluloid
91
85
 
92
86
  # Inspect the contents of the Mailbox
93
87
  def inspect
94
- "#<Celluloid::Mailbox[#{map { |m| m.inspect }.join(', ')}]>"
88
+ "#<Celluloid::Mailbox:#{object_id} [#{map { |m| m.inspect }.join(', ')}]>"
95
89
  end
96
90
  end
97
91
  end
@@ -0,0 +1,1843 @@
1
+ !RBIX
2
+ 3578385345186687227
3
+ 18
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 37
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 99
23
+ 7
24
+ 2
25
+ 65
26
+ 49
27
+ 3
28
+ 2
29
+ 13
30
+ 99
31
+ 12
32
+ 7
33
+ 4
34
+ 12
35
+ 7
36
+ 5
37
+ 12
38
+ 65
39
+ 12
40
+ 49
41
+ 6
42
+ 4
43
+ 15
44
+ 49
45
+ 4
46
+ 0
47
+ 15
48
+ 2
49
+ 11
50
+ I
51
+ 6
52
+ I
53
+ 0
54
+ I
55
+ 0
56
+ I
57
+ 0
58
+ I
59
+ 0
60
+ n
61
+ p
62
+ 7
63
+ s
64
+ 6
65
+ thread
66
+ x
67
+ 7
68
+ require
69
+ x
70
+ 9
71
+ Celluloid
72
+ x
73
+ 11
74
+ open_module
75
+ x
76
+ 15
77
+ __module_init__
78
+ M
79
+ 1
80
+ n
81
+ n
82
+ x
83
+ 9
84
+ Celluloid
85
+ i
86
+ 42
87
+ 5
88
+ 66
89
+ 99
90
+ 7
91
+ 0
92
+ 45
93
+ 1
94
+ 2
95
+ 65
96
+ 49
97
+ 3
98
+ 3
99
+ 15
100
+ 1
101
+ 15
102
+ 99
103
+ 7
104
+ 4
105
+ 1
106
+ 65
107
+ 49
108
+ 3
109
+ 3
110
+ 13
111
+ 99
112
+ 12
113
+ 7
114
+ 5
115
+ 12
116
+ 7
117
+ 6
118
+ 12
119
+ 65
120
+ 12
121
+ 49
122
+ 7
123
+ 4
124
+ 15
125
+ 49
126
+ 5
127
+ 0
128
+ 11
129
+ I
130
+ 6
131
+ I
132
+ 0
133
+ I
134
+ 0
135
+ I
136
+ 0
137
+ I
138
+ 0
139
+ n
140
+ p
141
+ 8
142
+ x
143
+ 12
144
+ MailboxError
145
+ x
146
+ 13
147
+ StandardError
148
+ n
149
+ x
150
+ 10
151
+ open_class
152
+ x
153
+ 7
154
+ Mailbox
155
+ x
156
+ 14
157
+ __class_init__
158
+ M
159
+ 1
160
+ n
161
+ n
162
+ x
163
+ 7
164
+ Mailbox
165
+ i
166
+ 123
167
+ 5
168
+ 66
169
+ 5
170
+ 45
171
+ 0
172
+ 1
173
+ 47
174
+ 49
175
+ 2
176
+ 1
177
+ 15
178
+ 99
179
+ 7
180
+ 3
181
+ 7
182
+ 4
183
+ 65
184
+ 67
185
+ 49
186
+ 5
187
+ 0
188
+ 49
189
+ 6
190
+ 4
191
+ 15
192
+ 99
193
+ 7
194
+ 7
195
+ 7
196
+ 8
197
+ 65
198
+ 67
199
+ 49
200
+ 5
201
+ 0
202
+ 49
203
+ 6
204
+ 4
205
+ 15
206
+ 99
207
+ 7
208
+ 9
209
+ 7
210
+ 10
211
+ 65
212
+ 67
213
+ 49
214
+ 5
215
+ 0
216
+ 49
217
+ 6
218
+ 4
219
+ 15
220
+ 99
221
+ 7
222
+ 11
223
+ 7
224
+ 12
225
+ 65
226
+ 67
227
+ 49
228
+ 5
229
+ 0
230
+ 49
231
+ 6
232
+ 4
233
+ 15
234
+ 99
235
+ 7
236
+ 13
237
+ 7
238
+ 14
239
+ 65
240
+ 67
241
+ 49
242
+ 5
243
+ 0
244
+ 49
245
+ 6
246
+ 4
247
+ 15
248
+ 99
249
+ 7
250
+ 15
251
+ 7
252
+ 16
253
+ 65
254
+ 67
255
+ 49
256
+ 5
257
+ 0
258
+ 49
259
+ 6
260
+ 4
261
+ 15
262
+ 99
263
+ 7
264
+ 17
265
+ 7
266
+ 18
267
+ 65
268
+ 67
269
+ 49
270
+ 5
271
+ 0
272
+ 49
273
+ 6
274
+ 4
275
+ 15
276
+ 99
277
+ 7
278
+ 19
279
+ 7
280
+ 20
281
+ 65
282
+ 67
283
+ 49
284
+ 5
285
+ 0
286
+ 49
287
+ 6
288
+ 4
289
+ 11
290
+ I
291
+ 5
292
+ I
293
+ 0
294
+ I
295
+ 0
296
+ I
297
+ 0
298
+ I
299
+ 0
300
+ n
301
+ p
302
+ 21
303
+ x
304
+ 10
305
+ Enumerable
306
+ n
307
+ x
308
+ 7
309
+ include
310
+ x
311
+ 10
312
+ initialize
313
+ M
314
+ 1
315
+ n
316
+ n
317
+ x
318
+ 10
319
+ initialize
320
+ i
321
+ 63
322
+ 35
323
+ 0
324
+ 38
325
+ 0
326
+ 15
327
+ 45
328
+ 1
329
+ 2
330
+ 13
331
+ 71
332
+ 3
333
+ 47
334
+ 9
335
+ 26
336
+ 47
337
+ 49
338
+ 4
339
+ 0
340
+ 13
341
+ 47
342
+ 49
343
+ 5
344
+ 0
345
+ 15
346
+ 8
347
+ 29
348
+ 49
349
+ 3
350
+ 0
351
+ 38
352
+ 6
353
+ 15
354
+ 45
355
+ 7
356
+ 8
357
+ 13
358
+ 71
359
+ 3
360
+ 47
361
+ 9
362
+ 53
363
+ 47
364
+ 49
365
+ 4
366
+ 0
367
+ 13
368
+ 47
369
+ 49
370
+ 5
371
+ 0
372
+ 15
373
+ 8
374
+ 56
375
+ 49
376
+ 3
377
+ 0
378
+ 38
379
+ 9
380
+ 15
381
+ 3
382
+ 38
383
+ 10
384
+ 11
385
+ I
386
+ 2
387
+ I
388
+ 0
389
+ I
390
+ 0
391
+ I
392
+ 0
393
+ I
394
+ 0
395
+ n
396
+ p
397
+ 11
398
+ x
399
+ 9
400
+ @messages
401
+ x
402
+ 5
403
+ Mutex
404
+ n
405
+ x
406
+ 3
407
+ new
408
+ x
409
+ 8
410
+ allocate
411
+ x
412
+ 10
413
+ initialize
414
+ x
415
+ 5
416
+ @lock
417
+ x
418
+ 17
419
+ ConditionVariable
420
+ n
421
+ x
422
+ 10
423
+ @condition
424
+ x
425
+ 5
426
+ @dead
427
+ p
428
+ 11
429
+ I
430
+ -1
431
+ I
432
+ b
433
+ I
434
+ 0
435
+ I
436
+ c
437
+ I
438
+ 5
439
+ I
440
+ d
441
+ I
442
+ 20
443
+ I
444
+ e
445
+ I
446
+ 3b
447
+ I
448
+ f
449
+ I
450
+ 3f
451
+ x
452
+ 50
453
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
454
+ p
455
+ 0
456
+ x
457
+ 17
458
+ method_visibility
459
+ x
460
+ 15
461
+ add_defn_method
462
+ x
463
+ 2
464
+ <<
465
+ M
466
+ 1
467
+ n
468
+ n
469
+ x
470
+ 2
471
+ <<
472
+ i
473
+ 10
474
+ 39
475
+ 0
476
+ 56
477
+ 1
478
+ 50
479
+ 2
480
+ 0
481
+ 15
482
+ 1
483
+ 11
484
+ I
485
+ 3
486
+ I
487
+ 1
488
+ I
489
+ 1
490
+ I
491
+ 0
492
+ I
493
+ 1
494
+ n
495
+ p
496
+ 3
497
+ x
498
+ 5
499
+ @lock
500
+ M
501
+ 1
502
+ p
503
+ 2
504
+ x
505
+ 9
506
+ for_block
507
+ t
508
+ n
509
+ x
510
+ 2
511
+ <<
512
+ i
513
+ 34
514
+ 39
515
+ 0
516
+ 9
517
+ 17
518
+ 5
519
+ 45
520
+ 1
521
+ 2
522
+ 7
523
+ 3
524
+ 64
525
+ 47
526
+ 49
527
+ 4
528
+ 2
529
+ 8
530
+ 18
531
+ 1
532
+ 15
533
+ 39
534
+ 5
535
+ 21
536
+ 1
537
+ 0
538
+ 49
539
+ 6
540
+ 1
541
+ 15
542
+ 39
543
+ 7
544
+ 49
545
+ 8
546
+ 0
547
+ 11
548
+ I
549
+ 4
550
+ I
551
+ 0
552
+ I
553
+ 0
554
+ I
555
+ 0
556
+ I
557
+ 0
558
+ I
559
+ -2
560
+ p
561
+ 9
562
+ x
563
+ 5
564
+ @dead
565
+ x
566
+ 12
567
+ MailboxError
568
+ n
569
+ s
570
+ 14
571
+ dead recipient
572
+ x
573
+ 5
574
+ raise
575
+ x
576
+ 9
577
+ @messages
578
+ x
579
+ 2
580
+ <<
581
+ x
582
+ 10
583
+ @condition
584
+ x
585
+ 6
586
+ signal
587
+ p
588
+ 9
589
+ I
590
+ 0
591
+ I
592
+ 15
593
+ I
594
+ 12
595
+ I
596
+ 0
597
+ I
598
+ 13
599
+ I
600
+ 17
601
+ I
602
+ 1c
603
+ I
604
+ 18
605
+ I
606
+ 22
607
+ x
608
+ 50
609
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
610
+ p
611
+ 0
612
+ x
613
+ 11
614
+ synchronize
615
+ p
616
+ 7
617
+ I
618
+ -1
619
+ I
620
+ 13
621
+ I
622
+ 0
623
+ I
624
+ 14
625
+ I
626
+ 8
627
+ I
628
+ 1a
629
+ I
630
+ a
631
+ x
632
+ 50
633
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
634
+ p
635
+ 1
636
+ x
637
+ 7
638
+ message
639
+ x
640
+ 12
641
+ system_event
642
+ M
643
+ 1
644
+ n
645
+ n
646
+ x
647
+ 12
648
+ system_event
649
+ i
650
+ 10
651
+ 39
652
+ 0
653
+ 56
654
+ 1
655
+ 50
656
+ 2
657
+ 0
658
+ 15
659
+ 1
660
+ 11
661
+ I
662
+ 3
663
+ I
664
+ 1
665
+ I
666
+ 1
667
+ I
668
+ 0
669
+ I
670
+ 1
671
+ n
672
+ p
673
+ 3
674
+ x
675
+ 5
676
+ @lock
677
+ M
678
+ 1
679
+ p
680
+ 2
681
+ x
682
+ 9
683
+ for_block
684
+ t
685
+ n
686
+ x
687
+ 12
688
+ system_event
689
+ i
690
+ 22
691
+ 39
692
+ 0
693
+ 9
694
+ 7
695
+ 1
696
+ 8
697
+ 21
698
+ 39
699
+ 1
700
+ 21
701
+ 1
702
+ 0
703
+ 49
704
+ 2
705
+ 1
706
+ 15
707
+ 39
708
+ 3
709
+ 49
710
+ 4
711
+ 0
712
+ 11
713
+ I
714
+ 3
715
+ I
716
+ 0
717
+ I
718
+ 0
719
+ I
720
+ 0
721
+ I
722
+ 0
723
+ I
724
+ -2
725
+ p
726
+ 5
727
+ x
728
+ 5
729
+ @dead
730
+ x
731
+ 9
732
+ @messages
733
+ x
734
+ 7
735
+ unshift
736
+ x
737
+ 10
738
+ @condition
739
+ x
740
+ 6
741
+ signal
742
+ p
743
+ 9
744
+ I
745
+ 0
746
+ I
747
+ 20
748
+ I
749
+ 7
750
+ I
751
+ 21
752
+ I
753
+ 10
754
+ I
755
+ 22
756
+ I
757
+ 15
758
+ I
759
+ 0
760
+ I
761
+ 16
762
+ x
763
+ 50
764
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
765
+ p
766
+ 0
767
+ x
768
+ 11
769
+ synchronize
770
+ p
771
+ 7
772
+ I
773
+ -1
774
+ I
775
+ 1e
776
+ I
777
+ 0
778
+ I
779
+ 1f
780
+ I
781
+ 8
782
+ I
783
+ 25
784
+ I
785
+ a
786
+ x
787
+ 50
788
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
789
+ p
790
+ 1
791
+ x
792
+ 5
793
+ event
794
+ x
795
+ 7
796
+ receive
797
+ M
798
+ 1
799
+ n
800
+ n
801
+ x
802
+ 7
803
+ receive
804
+ i
805
+ 15
806
+ 1
807
+ 19
808
+ 0
809
+ 15
810
+ 39
811
+ 0
812
+ 56
813
+ 1
814
+ 50
815
+ 2
816
+ 0
817
+ 15
818
+ 20
819
+ 0
820
+ 11
821
+ I
822
+ 3
823
+ I
824
+ 1
825
+ I
826
+ 0
827
+ I
828
+ 0
829
+ I
830
+ 0
831
+ n
832
+ p
833
+ 3
834
+ x
835
+ 5
836
+ @lock
837
+ M
838
+ 1
839
+ p
840
+ 2
841
+ x
842
+ 9
843
+ for_block
844
+ t
845
+ n
846
+ x
847
+ 7
848
+ receive
849
+ i
850
+ 115
851
+ 39
852
+ 0
853
+ 9
854
+ 17
855
+ 5
856
+ 45
857
+ 1
858
+ 2
859
+ 7
860
+ 3
861
+ 64
862
+ 47
863
+ 49
864
+ 4
865
+ 2
866
+ 8
867
+ 18
868
+ 1
869
+ 15
870
+ 94
871
+ 9
872
+ 55
873
+ 39
874
+ 5
875
+ 56
876
+ 6
877
+ 50
878
+ 7
879
+ 0
880
+ 19
881
+ 0
882
+ 15
883
+ 20
884
+ 0
885
+ 9
886
+ 52
887
+ 39
888
+ 5
889
+ 20
890
+ 0
891
+ 79
892
+ 49
893
+ 8
894
+ 2
895
+ 49
896
+ 9
897
+ 0
898
+ 22
899
+ 1
900
+ 0
901
+ 8
902
+ 53
903
+ 1
904
+ 8
905
+ 63
906
+ 39
907
+ 5
908
+ 49
909
+ 10
910
+ 0
911
+ 22
912
+ 1
913
+ 0
914
+ 15
915
+ 21
916
+ 1
917
+ 0
918
+ 45
919
+ 11
920
+ 12
921
+ 43
922
+ 13
923
+ 49
924
+ 14
925
+ 1
926
+ 9
927
+ 87
928
+ 5
929
+ 21
930
+ 1
931
+ 0
932
+ 47
933
+ 49
934
+ 4
935
+ 1
936
+ 8
937
+ 88
938
+ 1
939
+ 15
940
+ 21
941
+ 1
942
+ 0
943
+ 9
944
+ 97
945
+ 1
946
+ 8
947
+ 104
948
+ 39
949
+ 15
950
+ 39
951
+ 16
952
+ 49
953
+ 17
954
+ 1
955
+ 15
956
+ 68
957
+ 21
958
+ 1
959
+ 0
960
+ 10
961
+ 113
962
+ 8
963
+ 19
964
+ 1
965
+ 11
966
+ I
967
+ 5
968
+ I
969
+ 1
970
+ I
971
+ 0
972
+ I
973
+ 0
974
+ I
975
+ 0
976
+ I
977
+ -2
978
+ p
979
+ 18
980
+ x
981
+ 5
982
+ @dead
983
+ x
984
+ 12
985
+ MailboxError
986
+ n
987
+ s
988
+ 40
989
+ attempted to receive from a dead mailbox
990
+ x
991
+ 5
992
+ raise
993
+ x
994
+ 9
995
+ @messages
996
+ M
997
+ 1
998
+ p
999
+ 2
1000
+ x
1001
+ 9
1002
+ for_block
1003
+ t
1004
+ n
1005
+ x
1006
+ 7
1007
+ receive
1008
+ i
1009
+ 23
1010
+ 57
1011
+ 19
1012
+ 0
1013
+ 15
1014
+ 20
1015
+ 0
1016
+ 60
1017
+ 1
1018
+ 13
1019
+ 10
1020
+ 22
1021
+ 15
1022
+ 20
1023
+ 0
1024
+ 45
1025
+ 0
1026
+ 1
1027
+ 43
1028
+ 2
1029
+ 49
1030
+ 3
1031
+ 1
1032
+ 11
1033
+ I
1034
+ 4
1035
+ I
1036
+ 1
1037
+ I
1038
+ 1
1039
+ I
1040
+ 0
1041
+ I
1042
+ 1
1043
+ n
1044
+ p
1045
+ 4
1046
+ x
1047
+ 9
1048
+ Celluloid
1049
+ n
1050
+ x
1051
+ 11
1052
+ SystemEvent
1053
+ x
1054
+ 5
1055
+ is_a?
1056
+ p
1057
+ 5
1058
+ I
1059
+ 0
1060
+ I
1061
+ 31
1062
+ I
1063
+ 4
1064
+ I
1065
+ 32
1066
+ I
1067
+ 17
1068
+ x
1069
+ 50
1070
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1071
+ p
1072
+ 1
1073
+ x
1074
+ 3
1075
+ msg
1076
+ x
1077
+ 5
1078
+ index
1079
+ x
1080
+ 6
1081
+ slice!
1082
+ x
1083
+ 5
1084
+ first
1085
+ x
1086
+ 5
1087
+ shift
1088
+ x
1089
+ 9
1090
+ Celluloid
1091
+ n
1092
+ x
1093
+ 11
1094
+ SystemEvent
1095
+ x
1096
+ 5
1097
+ is_a?
1098
+ x
1099
+ 10
1100
+ @condition
1101
+ x
1102
+ 5
1103
+ @lock
1104
+ x
1105
+ 4
1106
+ wait
1107
+ p
1108
+ 29
1109
+ I
1110
+ 0
1111
+ I
1112
+ 2d
1113
+ I
1114
+ 12
1115
+ I
1116
+ 0
1117
+ I
1118
+ 13
1119
+ I
1120
+ 30
1121
+ I
1122
+ 16
1123
+ I
1124
+ 31
1125
+ I
1126
+ 20
1127
+ I
1128
+ 35
1129
+ I
1130
+ 35
1131
+ I
1132
+ 0
1133
+ I
1134
+ 37
1135
+ I
1136
+ 37
1137
+ I
1138
+ 3f
1139
+ I
1140
+ 0
1141
+ I
1142
+ 40
1143
+ I
1144
+ 3a
1145
+ I
1146
+ 58
1147
+ I
1148
+ 0
1149
+ I
1150
+ 59
1151
+ I
1152
+ 3c
1153
+ I
1154
+ 68
1155
+ I
1156
+ 0
1157
+ I
1158
+ 6a
1159
+ I
1160
+ 3d
1161
+ I
1162
+ 71
1163
+ I
1164
+ 0
1165
+ I
1166
+ 73
1167
+ x
1168
+ 50
1169
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1170
+ p
1171
+ 1
1172
+ x
1173
+ 5
1174
+ index
1175
+ x
1176
+ 11
1177
+ synchronize
1178
+ p
1179
+ 9
1180
+ I
1181
+ -1
1182
+ I
1183
+ 29
1184
+ I
1185
+ 0
1186
+ I
1187
+ 2a
1188
+ I
1189
+ 4
1190
+ I
1191
+ 2c
1192
+ I
1193
+ c
1194
+ I
1195
+ 40
1196
+ I
1197
+ f
1198
+ x
1199
+ 50
1200
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1201
+ p
1202
+ 1
1203
+ x
1204
+ 7
1205
+ message
1206
+ x
1207
+ 8
1208
+ shutdown
1209
+ M
1210
+ 1
1211
+ n
1212
+ n
1213
+ x
1214
+ 8
1215
+ shutdown
1216
+ i
1217
+ 8
1218
+ 39
1219
+ 0
1220
+ 56
1221
+ 1
1222
+ 50
1223
+ 2
1224
+ 0
1225
+ 11
1226
+ I
1227
+ 2
1228
+ I
1229
+ 0
1230
+ I
1231
+ 0
1232
+ I
1233
+ 0
1234
+ I
1235
+ 0
1236
+ n
1237
+ p
1238
+ 3
1239
+ x
1240
+ 5
1241
+ @lock
1242
+ M
1243
+ 1
1244
+ p
1245
+ 2
1246
+ x
1247
+ 9
1248
+ for_block
1249
+ t
1250
+ n
1251
+ x
1252
+ 8
1253
+ shutdown
1254
+ i
1255
+ 18
1256
+ 39
1257
+ 0
1258
+ 56
1259
+ 1
1260
+ 50
1261
+ 2
1262
+ 0
1263
+ 15
1264
+ 39
1265
+ 0
1266
+ 49
1267
+ 3
1268
+ 0
1269
+ 15
1270
+ 2
1271
+ 38
1272
+ 4
1273
+ 11
1274
+ I
1275
+ 3
1276
+ I
1277
+ 0
1278
+ I
1279
+ 0
1280
+ I
1281
+ 0
1282
+ I
1283
+ 0
1284
+ I
1285
+ -2
1286
+ p
1287
+ 5
1288
+ x
1289
+ 9
1290
+ @messages
1291
+ M
1292
+ 1
1293
+ p
1294
+ 2
1295
+ x
1296
+ 9
1297
+ for_block
1298
+ t
1299
+ n
1300
+ x
1301
+ 8
1302
+ shutdown
1303
+ i
1304
+ 22
1305
+ 57
1306
+ 19
1307
+ 0
1308
+ 15
1309
+ 20
1310
+ 0
1311
+ 7
1312
+ 0
1313
+ 49
1314
+ 1
1315
+ 1
1316
+ 9
1317
+ 20
1318
+ 20
1319
+ 0
1320
+ 49
1321
+ 0
1322
+ 0
1323
+ 8
1324
+ 21
1325
+ 1
1326
+ 11
1327
+ I
1328
+ 4
1329
+ I
1330
+ 1
1331
+ I
1332
+ 1
1333
+ I
1334
+ 0
1335
+ I
1336
+ 1
1337
+ n
1338
+ p
1339
+ 2
1340
+ x
1341
+ 7
1342
+ cleanup
1343
+ x
1344
+ 11
1345
+ respond_to?
1346
+ p
1347
+ 5
1348
+ I
1349
+ 0
1350
+ I
1351
+ 46
1352
+ I
1353
+ 15
1354
+ I
1355
+ 0
1356
+ I
1357
+ 16
1358
+ x
1359
+ 50
1360
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1361
+ p
1362
+ 1
1363
+ x
1364
+ 3
1365
+ msg
1366
+ x
1367
+ 4
1368
+ each
1369
+ x
1370
+ 5
1371
+ clear
1372
+ x
1373
+ 5
1374
+ @dead
1375
+ p
1376
+ 7
1377
+ I
1378
+ 0
1379
+ I
1380
+ 46
1381
+ I
1382
+ 8
1383
+ I
1384
+ 47
1385
+ I
1386
+ e
1387
+ I
1388
+ 48
1389
+ I
1390
+ 12
1391
+ x
1392
+ 50
1393
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1394
+ p
1395
+ 0
1396
+ x
1397
+ 11
1398
+ synchronize
1399
+ p
1400
+ 5
1401
+ I
1402
+ -1
1403
+ I
1404
+ 44
1405
+ I
1406
+ 0
1407
+ I
1408
+ 45
1409
+ I
1410
+ 8
1411
+ x
1412
+ 50
1413
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1414
+ p
1415
+ 0
1416
+ x
1417
+ 4
1418
+ to_a
1419
+ M
1420
+ 1
1421
+ n
1422
+ n
1423
+ x
1424
+ 4
1425
+ to_a
1426
+ i
1427
+ 8
1428
+ 39
1429
+ 0
1430
+ 56
1431
+ 1
1432
+ 50
1433
+ 2
1434
+ 0
1435
+ 11
1436
+ I
1437
+ 2
1438
+ I
1439
+ 0
1440
+ I
1441
+ 0
1442
+ I
1443
+ 0
1444
+ I
1445
+ 0
1446
+ n
1447
+ p
1448
+ 3
1449
+ x
1450
+ 5
1451
+ @lock
1452
+ M
1453
+ 1
1454
+ p
1455
+ 2
1456
+ x
1457
+ 9
1458
+ for_block
1459
+ t
1460
+ n
1461
+ x
1462
+ 4
1463
+ to_a
1464
+ i
1465
+ 6
1466
+ 39
1467
+ 0
1468
+ 49
1469
+ 1
1470
+ 0
1471
+ 11
1472
+ I
1473
+ 2
1474
+ I
1475
+ 0
1476
+ I
1477
+ 0
1478
+ I
1479
+ 0
1480
+ I
1481
+ 0
1482
+ I
1483
+ -2
1484
+ p
1485
+ 2
1486
+ x
1487
+ 9
1488
+ @messages
1489
+ x
1490
+ 3
1491
+ dup
1492
+ p
1493
+ 3
1494
+ I
1495
+ 0
1496
+ I
1497
+ 4e
1498
+ I
1499
+ 6
1500
+ x
1501
+ 50
1502
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1503
+ p
1504
+ 0
1505
+ x
1506
+ 11
1507
+ synchronize
1508
+ p
1509
+ 5
1510
+ I
1511
+ -1
1512
+ I
1513
+ 4d
1514
+ I
1515
+ 0
1516
+ I
1517
+ 4e
1518
+ I
1519
+ 8
1520
+ x
1521
+ 50
1522
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1523
+ p
1524
+ 0
1525
+ x
1526
+ 4
1527
+ each
1528
+ M
1529
+ 1
1530
+ n
1531
+ n
1532
+ x
1533
+ 4
1534
+ each
1535
+ i
1536
+ 24
1537
+ 95
1538
+ 19
1539
+ 0
1540
+ 15
1541
+ 5
1542
+ 48
1543
+ 0
1544
+ 20
1545
+ 0
1546
+ 13
1547
+ 70
1548
+ 10
1549
+ 20
1550
+ 44
1551
+ 43
1552
+ 1
1553
+ 12
1554
+ 49
1555
+ 2
1556
+ 1
1557
+ 50
1558
+ 3
1559
+ 0
1560
+ 11
1561
+ I
1562
+ 4
1563
+ I
1564
+ 1
1565
+ I
1566
+ 0
1567
+ I
1568
+ 0
1569
+ I
1570
+ 0
1571
+ n
1572
+ p
1573
+ 4
1574
+ x
1575
+ 4
1576
+ to_a
1577
+ x
1578
+ 4
1579
+ Proc
1580
+ x
1581
+ 14
1582
+ __from_block__
1583
+ x
1584
+ 4
1585
+ each
1586
+ p
1587
+ 5
1588
+ I
1589
+ -1
1590
+ I
1591
+ 52
1592
+ I
1593
+ 4
1594
+ I
1595
+ 53
1596
+ I
1597
+ 18
1598
+ x
1599
+ 50
1600
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1601
+ p
1602
+ 1
1603
+ x
1604
+ 5
1605
+ block
1606
+ x
1607
+ 7
1608
+ inspect
1609
+ M
1610
+ 1
1611
+ n
1612
+ n
1613
+ x
1614
+ 7
1615
+ inspect
1616
+ i
1617
+ 31
1618
+ 7
1619
+ 0
1620
+ 5
1621
+ 48
1622
+ 1
1623
+ 47
1624
+ 101
1625
+ 2
1626
+ 7
1627
+ 3
1628
+ 5
1629
+ 56
1630
+ 4
1631
+ 47
1632
+ 50
1633
+ 5
1634
+ 0
1635
+ 7
1636
+ 6
1637
+ 64
1638
+ 49
1639
+ 7
1640
+ 1
1641
+ 47
1642
+ 101
1643
+ 2
1644
+ 7
1645
+ 8
1646
+ 63
1647
+ 5
1648
+ 11
1649
+ I
1650
+ 5
1651
+ I
1652
+ 0
1653
+ I
1654
+ 0
1655
+ I
1656
+ 0
1657
+ I
1658
+ 0
1659
+ n
1660
+ p
1661
+ 9
1662
+ s
1663
+ 21
1664
+ #<Celluloid::Mailbox:
1665
+ x
1666
+ 9
1667
+ object_id
1668
+ x
1669
+ 4
1670
+ to_s
1671
+ s
1672
+ 2
1673
+ [
1674
+ M
1675
+ 1
1676
+ p
1677
+ 2
1678
+ x
1679
+ 9
1680
+ for_block
1681
+ t
1682
+ n
1683
+ x
1684
+ 7
1685
+ inspect
1686
+ i
1687
+ 10
1688
+ 57
1689
+ 19
1690
+ 0
1691
+ 15
1692
+ 20
1693
+ 0
1694
+ 49
1695
+ 0
1696
+ 0
1697
+ 11
1698
+ I
1699
+ 3
1700
+ I
1701
+ 1
1702
+ I
1703
+ 1
1704
+ I
1705
+ 0
1706
+ I
1707
+ 1
1708
+ n
1709
+ p
1710
+ 1
1711
+ x
1712
+ 7
1713
+ inspect
1714
+ p
1715
+ 3
1716
+ I
1717
+ 0
1718
+ I
1719
+ 58
1720
+ I
1721
+ a
1722
+ x
1723
+ 50
1724
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1725
+ p
1726
+ 1
1727
+ x
1728
+ 1
1729
+ m
1730
+ x
1731
+ 3
1732
+ map
1733
+ s
1734
+ 2
1735
+ ,
1736
+ x
1737
+ 4
1738
+ join
1739
+ s
1740
+ 2
1741
+ ]>
1742
+ p
1743
+ 5
1744
+ I
1745
+ -1
1746
+ I
1747
+ 57
1748
+ I
1749
+ 0
1750
+ I
1751
+ 58
1752
+ I
1753
+ 1f
1754
+ x
1755
+ 50
1756
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1757
+ p
1758
+ 0
1759
+ p
1760
+ 19
1761
+ I
1762
+ 2
1763
+ I
1764
+ 9
1765
+ I
1766
+ b
1767
+ I
1768
+ b
1769
+ I
1770
+ 19
1771
+ I
1772
+ 13
1773
+ I
1774
+ 27
1775
+ I
1776
+ 1e
1777
+ I
1778
+ 35
1779
+ I
1780
+ 29
1781
+ I
1782
+ 43
1783
+ I
1784
+ 44
1785
+ I
1786
+ 51
1787
+ I
1788
+ 4d
1789
+ I
1790
+ 5f
1791
+ I
1792
+ 52
1793
+ I
1794
+ 6d
1795
+ I
1796
+ 57
1797
+ I
1798
+ 7b
1799
+ x
1800
+ 50
1801
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1802
+ p
1803
+ 0
1804
+ x
1805
+ 13
1806
+ attach_method
1807
+ p
1808
+ 5
1809
+ I
1810
+ 2
1811
+ I
1812
+ 4
1813
+ I
1814
+ f
1815
+ I
1816
+ 8
1817
+ I
1818
+ 2a
1819
+ x
1820
+ 50
1821
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1822
+ p
1823
+ 0
1824
+ x
1825
+ 13
1826
+ attach_method
1827
+ p
1828
+ 5
1829
+ I
1830
+ 0
1831
+ I
1832
+ 1
1833
+ I
1834
+ 9
1835
+ I
1836
+ 3
1837
+ I
1838
+ 25
1839
+ x
1840
+ 50
1841
+ /Users/tony/src/celluloid/lib/celluloid/mailbox.rb
1842
+ p
1843
+ 0