ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent/Strict.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent/Strict.pm (file contents):
Revision 1.33 by root, Fri Sep 2 04:29:11 2011 UTC vs.
Revision 1.35 by root, Fri Sep 2 04:35:03 2011 UTC

65 } 65 }
66} 66}
67 67
68our (@FD_INUSE, $FD_I); 68our (@FD_INUSE, $FD_I);
69our $FD_CHECK_W = AE::timer 4, 4, sub { 69our $FD_CHECK_W = AE::timer 4, 4, sub {
70 my $cnt = (@FD_INUSE < 100 * 10 ? int @FD_INUSE * 0.1 : 100) || 1; 70 my $cnt = (@FD_INUSE < 100 * 10 ? int @FD_INUSE * 0.1 : 100) || 10;
71 71
72 if ($FD_I <= 0) { 72 if ($FD_I <= 0) {
73 #pop @FD_INUSE while @FD_INUSE && !$FD_INUSE[-1]; 73 #pop @FD_INUSE while @FD_INUSE && !$FD_INUSE[-1];
74 ($FD_I = @FD_INUSE) >= 0 74 ($FD_I = @FD_INUSE) >= 0
75 or return; # empty 75 or return; # empty
76 } 76 }
77 77
78 $cnt = $FD_I + 1 if $cnt > $FD_I; 78 $cnt = $FD_I if $cnt > $FD_I;
79 79
80 eval { 80 eval {
81 do { 81 do {
82 !$FD_INUSE[--$FD_I] 82 !$FD_INUSE[--$FD_I]
83 or (POSIX::lseek $FD_I, 0, 1) != -1 83 or (POSIX::lseek $FD_I, 0, 1) != -1

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines