celluloid 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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