in reply to Re^6: Threads sharing global variable
in thread Threads sharing global variable
This is your most disingenuous post to date. (The latest in a very long line.)
Below is a simple experiment using your exact posted code from Re^2: Threads sharing global variable; that anyone running windows and a few versions of perl installed, can conduct for themselves in around five minutes, and see your dishonesty for themselves.
This is your code running under This is perl, v5.10.1 built for MSWin32-x64-multi-thread:
C:\test>type 1156698.pl use threads; use threads::shared; use Thread::Queue; my $a :shared = 0; my $q = Thread::Queue->new(); sub set_positive { lock $a; while (1) { cond_wait($a) while $a > 0; $a = int(rand() * 100) + 1; cond_signal($a); $q->enqueue($a); } } sub set_zero { lock $a; while (1) { cond_wait($a) while $a == 0; $a = 0; cond_signal($a); $q->enqueue($a); } } sub printer { while (1) { my ($v_a, $v_b) = $q->dequeue(2); print "At printer $v_a $v_b\n"; } } threads->create($_) for qw( set_positive $_->join for threads->list; C:\test>1156698 At printer 6 0 At printer 76 0 At printer 24 0 At printer 77 0 At printer 60 0 At printer 20 0 At printer 62 0 At printer 77 0 At printer 39 0 At printer 1 0 At printer 25 0 At printer 7 0 At printer 3 0 At printer 28 0 At printer 64 0 At printer 11 0 At printer 74 0 At printer 18 0 At printer 22 0 At printer 40 0 At printer 17 0 At printer 75 0 At printer 48 0 At printer 14 0 At printer 21 0 At printer 48 0 At printer 84 0 At printer 80 0 At printer 72 0 At printer 40 0 At printer 13 0 At printer 78 0 At printer 31 0 At printer 65 0 At printer 32 0 At printer 37 0 At printer 12 0 At printer 43 0 At printer 48 0 At printer 93 0 At printer 77 0 At printer 24 0 At printer 53 0 At printer 82 0 At printer 27 0 At printer 29 0 At printer 80 0 At printer 89 0 At printer 17 0 At printer 2 0 At printer 88 0 At printer 93 0 At printer 86 0 At printer 62 0 At printer 91 0 At printer 3 0 At printer 3 0 At printer 47 0 At printer 70 0 At printer 27 0 At printer 38 0 At printer 35 0 At printer 87 0 At printer 54 0 At printer 62 0 At printer 45 0 At printer 35 0 At printer 2 0 At printer 69 0 At printer 90 0 At printer 44 0 At printer 21 0 At printer 39 0 At printer 96 0 At printer 89 0 At printer 82 0 At printer 26 0 At printer 50 0 At printer 2 0 At printer 52 0 At printer 97 0 At printer 2 0 At printer 41 0 At printer 91 0 At printer 99 0 At printer 67 0 At printer 28 0 At printer 67 0 At printer 85 0 At printer 72 0 At printer 94 0 At printer 23 0 At printer 73 0 At printer 79 0 At printer 47 0 At printer 89 0 At printer 68 0 At printer 34 0 At printer 7 0 At printer 79 0 At printer 32 0 At printer 80 0 At printer 23 0 At printer 73 0 At printer 15 0 At printer 64 0 At printer 10 0 At printer 4 0 At printer 37 0 At printer 4 0 At printer 16 0 At printer 62 0 At printer 52 0 At printer 23 0 At printer 85 0 At printer 44 0 At printer 55 0 At printer 22 0 At printer 89 0 At printer 43 0 At printer 82 0 At printer 9 0 At printer 15 0 At printer 15 0 At printer 61 0 At printer 47 0 At printer 87 0 At printer 22 0 At printer 60 0 At printer 27 0 At printer 86 0 At printer 81 0 At printer 96 0 At printer 58 0 At printer 72 0 At printer 14 0 At printer 38 0 At printer 57 0 At printer 56 0 At printer 47 0 At printer 89 0 At printer 31 0 At printer 28 0 At printer 35 0 At printer 62 0 At printer 50 0 At printer 92 0 At printer 65 0 At printer 41 0 At printer 85 0 At printer 19 0 At printer 21 0 At printer 44 0 At printer 28 0 At printer 58 0 At printer 53 0 At printer 75 0 At printer 43 0 At printer 18 0 At printer 45 0 At printer 88 0 At printer 98 0 At printer 74 0 At printer 19 0 At printer 43 0 At printer 98 0 At printer 93 0 At printer 59 0 At printer 82 0 At printer 80 0 At printer 37 0 At printer 12 0 At printer 100 0 At printer 99 0 At printer 55 0 At printer 38 0 At printer 49 0 At printer 46 0 At printer 99 0 At printer 69 0 At printer 37 0 At printer 47 0 At printer 79 0 At printer 45 0 At printer 66 0 At printer 71 0 At printer 13 0 At printer 90 0 At printer 80 0 At printer 2 0 At printer 69 0 At printer 3 0 At printer 43 0 At printer 98 0 At printer 43 0 At printer 12 0 At printer 49 0 At printer 3 0 At printer 3 0 At printer 80 0 At printer 60 0 At printer 18 0 At printer 25 0 At printer 4 0 At printer 80 0 At printer 6 0 At printer 33 0 At printer 93 0 At printer 73 0 At printer 52 0 At printer 7 0 At printer 74 0 At printer 11 0 At printer 22 0 At printer 43 0 At printer 13 0 At printer 82 0 At printer 62 0 At printer 37 0 At printer 84 0 At printer 29 0 At printer 82 0 At printer 80 0 At printer 92 0 At printer 56 0 At printer 59 0 At printer 26 0 At printer 79 0 At printer 77 0 At printer 4 0 At printer 38 0 At printer 1 0 At printer 26 0 At printer 31 0 At printer 59 0 At printer 33 0 At printer 29 0 At printer 76 0 At printer 11 0 At printer 74 0 At printer 37 0 At printer 87 0 At printer 84 0 At printer 3 0 At printer 25 0 At printer 56 0 At printer 4 0 At printer 74 0 At printer 66 0 At printer 2 0 At printer 51 0 At printer 94 0 At printer 69 0 At printer 74 0 At printer 10 0 At printer 65 0 At printer 100 0 At printer 87 0 At printer 24 0 At printer 43 0 At printer 83 0 At printer 58 0 At printer 46 0 At printer 97 0 At printer 76 0 At printer 62 0 At printer 44 0 At printer 9 0 At printer 37 0 At printer 63 0 At printer 56 0 At printer 8 0 At printer 83 0 At printer 49 0 At printer 63 0 At printer 78 0 At printer 29 0 At printer 21 0 At printer 70 0 At printer 32 0 At printer 34 0 At printer 71 0 At printer 43 0 At printer 83 0 At printer 34 0 At printer 95 0 At printer 33 0 Terminating on signal SIGINT(2)
Summary: It produces 287(*) lines of output before hanging. (Varies from run to run; but that's typical.)
This is your code running under This is perl 5, version 18, subversion 4 (v5.18.4) built for MSWin32-x64-multi-thread:
C:\test>\perl5.18\perl\bin\ At printer 79 0 At printer 14 0 At printer 18 0 At printer 35 0 At printer 81 0 At printer 46 0 At printer 16 0 At printer 52 0 At printer 31 0 At printer 8 0 At printer 61 0 At printer 17 0 At printer 55 0 At printer 18 0 At printer 74 0 At printer 94 0 At printer 33 0 At printer 69 0 At printer 7 0 At printer 86 0 At printer 41 0 At printer 42 0 At printer 70 0 At printer 57 0 At printer 45 0 At printer 4 0 At printer 92 0 At printer 67 0 At printer 60 0 At printer 68 0 At printer 13 0 At printer 20 0 At printer 76 0 At printer 24 0 At printer 52 0 At printer 55 0 At printer 37 0 At printer 1 0 At printer 67 0 At printer 80 0 At printer 7 0 At printer 96 0 At printer 60 0 At printer 83 0 At printer 94 0 At printer 7 0 At printer 16 0 At printer 18 0 At printer 64 0 At printer 11 0 At printer 42 0 At printer 99 0 At printer 16 0 At printer 37 0 At printer 9 0 At printer 95 0 At printer 61 0 At printer 57 0 At printer 40 0 At printer 66 0 At printer 67 0 At printer 57 0 At printer 58 0 At printer 40 0 At printer 6 0 At printer 8 0 At printer 43 0 At printer 57 0 At printer 81 0 At printer 95 0 At printer 99 0 At printer 73 0 At printer 61 0 At printer 30 0 At printer 86 0 At printer 81 0 At printer 2 0 At printer 2 0 At printer 21 0 At printer 17 0 At printer 76 0 At printer 94 0 At printer 2 0 At printer 9 0 At printer 1 0 At printer 18 0 At printer 52 0 At printer 44 0 At printer 79 0 At printer 99 0 At printer 45 0 At printer 17 0 At printer 44 0 At printer 57 0 At printer 8 0 At printer 19 0 At printer 27 0 At printer 17 0 At printer 66 0 At printer 43 0 At printer 28 0 At printer 4 0 At printer 10 0 At printer 62 0 At printer 23 0 At printer 42 0 At printer 66 0 At printer 52 0 At printer 78 0 At printer 22 0 At printer 54 0 At printer 22 0 At printer 99 0 At printer 55 0 At printer 93 0 At printer 17 0 At printer 7 0 At printer 74 0 At printer 54 0 At printer 64 0 At printer 48 0 At printer 1 0 At printer 17 0 At printer 13 0 At printer 37 0 At printer 52 0 At printer 38 0 At printer 66 0 At printer 37 0 At printer 79 0 At printer 62 0 At printer 20 0 At printer 86 0 At printer 30 0 At printer 14 0 At printer 33 0 At printer 66 0 At printer 42 0 At printer 94 0 At printer 41 0 At printer 15 0 At printer 16 0 At printer 95 0 At printer 19 0 At printer 1 0 At printer 13 0 At printer 87 0 At printer 34 0 At printer 36 0 At printer 23 0 At printer 85 0 At printer 64 0 At printer 62 0 At printer 14 0 At printer 35 0 At printer 51 0 At printer 83 0 At printer 56 0 At printer 33 0 At printer 42 0 At printer 77 0 At printer 1 0 At printer 34 0 At printer 97 0 At printer 53 0 At printer 7 0 At printer 39 0 At printer 23 0 At printer 2 0 At printer 19 0 At printer 30 0 At printer 95 0 At printer 97 0 At printer 59 0 At printer 39 0 At printer 47 0 At printer 93 0 At printer 64 0 At printer 24 0 At printer 68 0 At printer 81 0 At printer 11 0 At printer 34 0 At printer 10 0 At printer 51 0 At printer 65 0 At printer 38 0 At printer 28 0 At printer 12 0 At printer 9 0 At printer 97 0 At printer 62 0 At printer 27 0 At printer 68 0 At printer 54 0 At printer 86 0 At printer 17 0 At printer 94 0 At printer 31 0 At printer 22 0 At printer 82 0 At printer 39 0 At printer 98 0 At printer 65 0 At printer 96 0 At printer 57 0 At printer 97 0 At printer 96 0 At printer 24 0 At printer 81 0 At printer 5 0 At printer 34 0 At printer 27 0 At printer 12 0 At printer 3 0 At printer 17 0 At printer 90 0 At printer 60 0 At printer 36 0 At printer 47 0 At printer 41 0 At printer 80 0 At printer 50 0 At printer 95 0 At printer 6 0 At printer 42 0 At printer 58 0 At printer 2 0 At printer 57 0 At printer 80 0 At printer 50 0 At printer 74 0 At printer 1 0 At printer 47 0 At printer 88 0 At printer 4 0 At printer 77 0 At printer 43 0 At printer 97 0 At printer 11 0 At printer 86 0 At printer 16 0 At printer 2 0 At printer 49 0 At printer 47 0 At printer 30 0 At printer 9 0 At printer 57 0 At printer 92 0 At printer 82 0 At printer 2 0 At printer 14 0 At printer 81 0 At printer 64 0 At printer 26 0 At printer 61 0 At printer 77 0 At printer 64 0 At printer 49 0 At printer 64 0 At printer 42 0 At printer 80 0 At printer 71 0 At printer 77 0 At printer 93 0 At printer 67 0 At printer 57 0 At printer 69 0 At printer 94 0 At printer 76 0 At printer 81 0 At printer 91 0 At printer 10 0 At printer 99 0 At printer 48 0 At printer 32 0 At printer 6 0 At printer 93 0 At printer 88 0 At printer 54 0 At printer 11 0 At printer 94 0 At printer 73 0 At printer 36 0 At printer 31 0 At printer 88 0 At printer 75 0 At printer 35 0 At printer 42 0 At printer 53 0 At printer 94 0 At printer 94 0 At printer 33 0 At printer 39 0 At printer 87 0 At printer 80 0 At printer 32 0 At printer 100 0 At printer 26 0 At printer 20 0 At printer 93 0 At printer 47 0 At printer 5 0 At printer 85 0 At printer 69 0 At printer 38 0 At printer 44 0 At printer 8 0 At printer 60 0 At printer 60 0 At printer 87 0 At printer 84 0 At printer 42 0 At printer 35 0 At printer 56 0 At printer 25 0 At printer 81 0 At printer 4 0 At printer 63 0 At printer 45 0 At printer 43 0 At printer 7 0 At printer 27 0 At printer 15 0 At printer 80 0 At printer 30 0 At printer 5 0 At printer 87 0 At printer 34 0 At printer 24 0 At printer 83 0 At printer 19 0 At printer 9 0 At printer 73 0 At printer 46 0 At printer 99 0 At printer 76 0 At printer 20 0 At printer 58 0 At printer 2 0 At printer 55 0 At printer 19 0 At printer 72 0 At printer 76 0 At printer 21 0 At printer 25 0 At printer 19 0 At printer 96 0 At printer 14 0 At printer 94 0 At printer 72 0 At printer 71 0 At printer 63 0 At printer 1 0 At printer 47 0 At printer 57 0 At printer 25 0 At printer 54 0 At printer 47 0 At printer 54 0 At printer 53 0 At printer 97 0 At printer 80 0 At printer 34 0 At printer 70 0 At printer 97 0 At printer 91 0 At printer 89 0 At printer 84 0 At printer 8 0 At printer 19 0 At printer 43 0 At printer 27 0 At printer 83 0 At printer 24 0 At printer 14 0 At printer 24 0 At printer 59 0 At printer 99 0 At printer 65 0 At printer 100 0 At printer 66 0 At printer 98 0 At printer 46 0 At printer 26 0 At printer 89 0 At printer 19 0 At printer 50 0 At printer 100 0 At printer 39 0 At printer 52 0 At printer 91 0 At printer 88 0 At printer 54 0 At printer 37 0 At printer 33 0 At printer 92 0 At printer 95 0 At printer 45 0 At printer 65 0 At printer 87 0 At printer 46 0 At printer 27 0 At printer 65 0 At printer 4 0 At printer 97 0 At printer 40 0 At printer 34 0 At printer 69 0 At printer 12 0 At printer 97 0 At printer 55 0 At printer 3 0 At printer 58 0 At printer 54 0 At printer 58 0 At printer 97 0 At printer 1 0 At printer 73 0 At printer 28 0 At printer 28 0 At printer 42 0 At printer 74 0 At printer 60 0 At printer 75 0 At printer 10 0 At printer 37 0 At printer 89 0 At printer 83 0 At printer 67 0 At printer 30 0 At printer 92 0 At printer 21 0 At printer 54 0 At printer 44 0 At printer 2 0 At printer 4 0 At printer 30 0 At printer 31 0 At printer 24 0 At printer 11 0 At printer 37 0 At printer 81 0 At printer 89 0 At printer 76 0 At printer 36 0 At printer 70 0 At printer 47 0 At printer 80 0 At printer 48 0 At printer 4 0 At printer 29 0 At printer 21 0 At printer 49 0 At printer 84 0 At printer 77 0 At printer 91 0 At printer 56 0 At printer 31 0 At printer 76 0 At printer 42 0 At printer 44 0 At printer 80 0 At printer 84 0 At printer 60 0 At printer 30 0 At printer 99 0 At printer 94 0 At printer 35 0 At printer 82 0 At printer 24 0 At printer 28 0 At printer 50 0 At printer 64 0 At printer 82 0 At printer 94 0 At printer 62 0 At printer 94 0 At printer 87 0 At printer 5 0 At printer 22 0 At printer 17 0 At printer 74 0 At printer 92 0 At printer 84 0 At printer 72 0 At printer 66 0 At printer 10 0 At printer 56 0 At printer 61 0 At printer 33 0 At printer 75 0 At printer 58 0 At printer 82 0 At printer 49 0 At printer 13 0 At printer 20 0 At printer 52 0 At printer 86 0 At printer 83 0 At printer 97 0 At printer 81 0 At printer 63 0 At printer 41 0 At printer 24 0 At printer 3 0 At printer 99 0 At printer 1 0 At printer 96 0 At printer 53 0 At printer 67 0 At printer 79 0 At printer 9 0 At printer 74 0 At printer 11 0 At printer 61 0 At printer 11 0 At printer 53 0 At printer 21 0 At printer 83 0 At printer 27 0 At printer 74 0 At printer 25 0 At printer 66 0 At printer 10 0 At printer 67 0 At printer 3 0 At printer 1 0 At printer 59 0 At printer 75 0 At printer 65 0 At printer 13 0 At printer 80 0 At printer 81 0 At printer 7 0 At printer 11 0 At printer 12 0 At printer 40 0 At printer 96 0 At printer 42 0 At printer 3 0 At printer 62 0 At printer 85 0 At printer 68 0 At printer 68 0 At printer 64 0 At printer 7 0 At printer 83 0 At printer 88 0 At printer 62 0 At printer 65 0 At printer 69 0 At printer 6 0 At printer 20 0 At printer 53 0 At printer 35 0 At printer 69 0 At printer 15 0 At printer 25 0 At printer 23 0 At printer 74 0 At printer 31 0 At printer 61 0 At printer 34 0 At printer 64 0 At printer 66 0 At printer 30 0 At printer 39 0 At printer 34 0 At printer 41 0 At printer 3 0 At printer 54 0 At printer 99 0 At printer 1 0 At printer 31 0 At printer 25 0 At printer 66 0 At printer 8 0 At printer 21 0 At printer 8 0 At printer 91 0 At printer 95 0 At printer 33 0 At printer 98 0 At printer 31 0 At printer 5 0 At printer 30 0 At printer 69 0 At printer 96 0 At printer 66 0 At printer 15 0 At printer 10 0 At printer 2 0 At printer 32 0 At printer 67 0 At printer 95 0 At printer 20 0 At printer 48 0 At printer 22 0 At printer 82 0 At printer 52 0 At printer 49 0 At printer 14 0 At printer 76 0 At printer 89 0 At printer 76 0 At printer 11 0 At printer 55 0 At printer 12 0 At printer 7 0 At printer 77 0 At printer 88 0 At printer 85 0 At printer 79 0 At printer 70 0 At printer 50 0 At printer 85 0 At printer 9 0 At printer 34 0 At printer 60 0 At printer 43 0 At printer 91 0 At printer 86 0 At printer 42 0 At printer 21 0 At printer 68 0 At printer 39 0 At printer 52 0 At printer 10 0 At printer 66 0 At printer 89 0 At printer 46 0 At printer 65 0 At printer 85 0 At printer 90 0 At printer 52 0 At printer 71 0 At printer 20 0 At printer 49 0 At printer 17 0 At printer 55 0 At printer 40 0 At printer 64 0 At printer 80 0 At printer 28 0 At printer 68 0 At printer 41 0 At printer 60 0 At printer 88 0 At printer 95 0 At printer 9 0 At printer 1 0 At printer 51 0 At printer 88 0 At printer 68 0 At printer 56 0 At printer 52 0 At printer 5 0 At printer 99 0 At printer 62 0 At printer 87 0 At printer 89 0 At printer 52 0 At printer 93 0 At printer 17 0 At printer 48 0 At printer 58 0 At printer 28 0 At printer 32 0 At printer 96 0 At printer 81 0 At printer 23 0 At printer 83 0 At printer 62 0 At printer 38 0 At printer 42 0 At printer 67 0 At printer 43 0 At printer 24 0 At printer 16 0 At printer 2 0 At printer 100 0 At printer 63 0 At printer 91 0 At printer 53 0 At printer 84 0 At printer 7 0 At printer 39 0 At printer 54 0 At printer 90 0 At printer 36 0 At printer 85 0 At printer 93 0 At printer 13 0 At printer 48 0 At printer 37 0 At printer 89 0 At printer 17 0 At printer 10 0 At printer 51 0 At printer 51 0 At printer 95 0 At printer 61 0 At printer 38 0 At printer 27 0 At printer 10 0 At printer 20 0 At printer 37 0 At printer 42 0 At printer 15 0 At printer 15 0 At printer 59 0 At printer 31 0 At printer 41 0 At printer 71 0 At printer 30 0 At printer 74 0 At printer 34 0 At printer 64 0 At printer 33 0 At printer 28 0 At printer 46 0 At printer 3 0 At printer 86 0 At printer 61 0 At printer 61 0 At printer 30 0 At printer 45 0 At printer 4 0 At printer 48 0 At printer 4 0 At printer 75 0 At printer 95 0 At printer 35 0 At printer 58 0 At printer 79 0 At printer 59 0 At printer 94 0 At printer 95 0 At printer 30 0 At printer 80 0 At printer 21 0 At printer 24 0 At printer 81 0 At printer 17 0 At printer 13 0 At printer 74 0 At printer 21 0 At printer 26 0 At printer 20 0 At printer 15 0 At printer 33 0 At printer 13 0 At printer 76 0 At printer 19 0 At printer 32 0 At printer 17 0 At printer 86 0 At printer 66 0 At printer 38 0 At printer 27 0 At printer 73 0 At printer 62 0 At printer 54 0 At printer 26 0 At printer 63 0 At printer 56 0 At printer 19 0 At printer 88 0 At printer 7 0 At printer 17 0 At printer 89 0 At printer 1 0 At printer 29 0 At printer 76 0 At printer 31 0 At printer 46 0 At printer 89 0 At printer 78 0 At printer 71 0 At printer 15 0 At printer 53 0 At printer 54 0 At printer 87 0 At printer 93 0 At printer 58 0 At printer 70 0 At printer 92 0 At printer 75 0 At printer 68 0 At printer 39 0 At printer 89 0 At printer 61 0 At printer 6 0 At printer 73 0 At printer 46 0 At printer 91 0 At printer 54 0 At printer 56 0 At printer 81 0 At printer 68 0 At printer 17 0 At printer 4 0 At printer 87 0 At printer 16 0 At printer 32 0 At printer 15 0 At printer 9 0 At printer 40 0 At printer 20 0 At printer 54 0 At printer 90 0 At printer 37 0 At printer 72 0
Summary: It produces 817* lines of output. (Usually runs a little longer than under 5.10, but of 20 runs this was the most output before hanging.)
This is your code running under This is perl 5, version 22, subversion 0 (v5.22.0) built for MSWin32-x64-multi-thread:
C:\test>\Perl22\bin\perl.exe 1156698.pl At printer 58 0 At printer 36 0 At printer 89 0 At printer 92 0 At printer 57 0 At printer 70 0 At printer 75 0 At printer 41 0 At printer 18 0 At printer 91 0 At printer 64 0 At printer 71 0 At printer 46 0 At printer 66 0 At printer 19 0 At printer 73 0 At printer 67 0 At printer 41 0 At printer 83 0 At printer 70 0 At printer 30 0 At printer 91 0 At printer 77 0 At printer 55 0 At printer 73 0 At printer 55 0 At printer 27 0 At printer 33 0 At printer 38 0 At printer 94 0 At printer 13 0 At printer 26 0 At printer 17 0 At printer 20 0 At printer 45 0 At printer 32 0 At printer 57 0 At printer 22 0 At printer 46 0 At printer 3 0 At printer 15 0 At printer 18 0 At printer 5 0 At printer 90 0 At printer 72 0 At printer 10 0 At printer 19 0 At printer 88 0 At printer 30 0 At printer 84 0 At printer 83 0 At printer 3 0 At printer 83 0 At printer 15 0 At printer 52 0 At printer 28 0 At printer 75 0 At printer 51 0 At printer 80 0 At printer 43 0 At printer 47 0 At printer 82 0 At printer 25 0 At printer 21 0 At printer 18 0 At printer 40 0 At printer 7 0 At printer 13 0 At printer 57 0 At printer 36 0 At printer 38 0 At printer 75 0 At printer 51 0 At printer 82 0 At printer 11 0 At printer 48 0 At printer 14 0 At printer 4 0 At printer 51 0 At printer 82 0 At printer 47 0 At printer 66 0 At printer 8 0 At printer 22 0 At printer 94 0 At printer 42 0 At printer 83 0 At printer 78 0 At printer 80 0 At printer 62 0 At printer 69 0 At printer 60 0 At printer 34 0 At printer 25 0 At printer 40 0 At printer 72 0 At printer 11 0 At printer 91 0 At printer 9 0 At printer 45 0 At printer 7 0 At printer 65 0 At printer 97 0 At printer 75 0 At printer 3 0 At printer 73 0 At printer 34 0 At printer 26 0 At printer 30 0 At printer 67 0 At printer 42 0 At printer 27 0 At printer 3 0 At printer 73 0 At printer 67 0 At printer 42 0 At printer 100 0 At printer 96 0 At printer 45 0 At printer 55 0 At printer 92 0 At printer 13 0 At printer 80 0 At printer 20 0 At printer 1 0 At printer 38 0 At printer 26 0 At printer 68 0 At printer 55 0 At printer 19 0 At printer 72 0 At printer 78 0 At printer 48 0 At printer 47 0 At printer 97 0 At printer 45 0 At printer 59 0 At printer 3 0 At printer 66 0 At printer 49 0 At printer 79 0 At printer 31 0 At printer 92 0 At printer 32 0 At printer 91 0 At printer 29 0 At printer 44 0 At printer 7 0 At printer 5 0 At printer 22 0 At printer 23 0 At printer 64 0 At printer 62 0 At printer 3 0 At printer 100 0 At printer 64 0 At printer 39 0 At printer 52 0 At printer 71 0 At printer 26 0 At printer 5 0 At printer 32 0 At printer 64 0 At printer 1 0 At printer 29 0 At printer 44 0 At printer 95 0 At printer 31 0 At printer 72 0 At printer 32 0 At printer 63 0 At printer 45 0 At printer 4 0 At printer 36 0 At printer 18 0 At printer 90 0 At printer 63 0 At printer 48 0 At printer 61 0 At printer 47 0 At printer 10 0 At printer 8 0 At printer 68 0 At printer 82 0 At printer 79 0 At printer 25 0 At printer 85 0 At printer 64 0 At printer 6 0 At printer 42 0 At printer 58 0 At printer 70 0 At printer 87 0 At printer 7 0 At printer 41 0 At printer 75 0 At printer 26 0 At printer 62 0 At printer 43 0 At printer 45 0 At printer 45 0 At printer 84 0 At printer 24 0 At printer 34 0 At printer 78 0 At printer 18 0 At printer 23 0 At printer 12 0 At printer 83 0 At printer 96 0 At printer 54 0 At printer 91 0 At printer 84 0 At printer 29 0 At printer 38 0 At printer 78 0 At printer 23 0 At printer 96 0 At printer 98 0 At printer 98 0 At printer 7 0 At printer 99 0 At printer 93 0 At printer 46 0 At printer 96 0 At printer 26 0 At printer 9 0 At printer 38 0 At printer 14 0 At printer 28 0 At printer 21 0 At printer 60 0 At printer 15 0 At printer 20 0 At printer 51 0 At printer 17 0 At printer 69 0 At printer 67 0 At printer 42 0 At printer 21 0 At printer 31 0 At printer 24 0 At printer 97 0 At printer 86 0 At printer 11 0 At printer 58 0 At printer 76 0 At printer 1 0 At printer 33 0 At printer 79 0 At printer 65 0 At printer 59 0 At printer 14 0 At printer 81 0 At printer 28 0 At printer 100 0 At printer 62 0 At printer 10 0 At printer 77 0 At printer 48 0 At printer 59 0 At printer 50 0 At printer 18 0 At printer 96 0 At printer 75 0 At printer 5 0 At printer 55 0 At printer 5 0 At printer 84 0 At printer 81 0 At printer 7 0 At printer 36 0 At printer 8 0 At printer 6 0 At printer 35 0 At printer 63 0 At printer 76 0 At printer 98 0 At printer 66 0 At printer 67 0 At printer 46 0 At printer 18 0 At printer 94 0 At printer 16 0 At printer 85 0 At printer 89 0 At printer 34 0 At printer 82 0 At printer 63 0 At printer 82 0 At printer 30 0 At printer 92 0 At printer 58 0 At printer 29 0 At printer 38 0 At printer 31 0 At printer 79 0 At printer 36 0 At printer 61 0 At printer 33 0 At printer 28 0 At printer 85 0 At printer 92 0 At printer 7 0 At printer 98 0 At printer 44 0 At printer 71 0 At printer 15 0 At printer 27 0 At printer 78 0 At printer 39 0 At printer 17 0 At printer 37 0 At printer 58 0 At printer 18 0 At printer 99 0 At printer 29 0 At printer 32 0 At printer 72 0 At printer 22 0 At printer 91 0 At printer 19 0 At printer 95 0 At printer 35 0 At printer 92 0 At printer 61 0 At printer 54 0 At printer 7 0 At printer 93 0 At printer 56 0 At printer 46 0 At printer 23 0 At printer 30 0 At printer 54 0 At printer 74 0 At printer 41 0 At printer 22 0 At printer 85 0 At printer 57 0 At printer 21 0 At printer 83 0 At printer 78 0 At printer 55 0 At printer 76 0 At printer 35 0 At printer 78 0 At printer 100 0 At printer 44 0 At printer 65 0 At printer 21 0 At printer 16 0 At printer 25 0 At printer 65 0 At printer 51 0 At printer 22 0 At printer 42 0 At printer 35 0 At printer 84 0 At printer 89 0 At printer 63 0 At printer 32 0 At printer 31 0 At printer 73 0 At printer 32 0 At printer 2 0 At printer 84 0 At printer 74 0 At printer 85 0 At printer 56 0 At printer 1 0 At printer 42 0 At printer 81 0 At printer 8 0 At printer 11 0 At printer 23 0 At printer 78 0 At printer 52 0 At printer 14 0 At printer 60 0 At printer 62 0 At printer 27 0 At printer 46 0 At printer 73 0 At printer 46 0 At printer 10 0 At printer 34 0 At printer 55 0 At printer 28 0 At printer 77 0 At printer 20 0 At printer 38 0 At printer 57 0 At printer 39 0 At printer 18 0 At printer 74 0 At printer 43 0 At printer 53 0 At printer 88 0 At printer 21 0 At printer 96 0 At printer 40 0 At printer 81 0 At printer 25 0 At printer 94 0 At printer 35 0 At printer 33 0 At printer 12 0 At printer 95 0 At printer 69 0 At printer 97 0 At printer 64 0 At printer 68 0 At printer 66 0 At printer 80 0 At printer 49 0 At printer 75 0 At printer 67 0 At printer 73 0 At printer 31 0 At printer 88 0 At printer 93 0 At printer 61 0 At printer 25 0 At printer 24 0 At printer 51 0 At printer 94 0 At printer 14 0 At printer 49 0 At printer 39 0 At printer 30 0 At printer 87 0 At printer 66 0 At printer 50 0 At printer 89 0 At printer 59 0 At printer 51 0 At printer 59 0 At printer 22 0 At printer 94 0 At printer 29 0 At printer 45 0 At printer 70 0 At printer 39 0 At printer 26 0 At printer 95 0 At printer 70 0 At printer 17 0 At printer 9 0 At printer 75 0 At printer 23 0 At printer 59 0 At printer 54 0 At printer 34 0 At printer 46 0 At printer 1 0 At printer 10 0 At printer 7 0 At printer 73 0 At printer 8 0 At printer 76 0 At printer 72 0 At printer 75 0 At printer 49 0 At printer 42 0 At printer 60 0 At printer 29 0 At printer 68 0 At printer 76 0 At printer 73 0 At printer 68 0 At printer 75 0 At printer 18 0 At printer 87 0 At printer 31 0 At printer 47 0 At printer 63 0 At printer 35 0 At printer 58 0 Terminating on signal SIGINT(2)
Summary: It produces 479* lines of output before hanging! (After 10 runs the average was around 700 lines, but that included one run that gave nearly 2000 lines and another that produced 17.)
I'm also now firmly convinced that it will hang everywhere -- even under Linux -- if left running long enough, because a signal will eventually be missed and it will deadlock. This is inevitable; but is an exercise for someone else to (dis)prove.
|
|---|