C:\test>asyncServer2.pl
Perl -v: 5.016001
IO::Socket: 1.34
IO::Select: 1.21
...
C:\test>head -20 \perl64-16\lib\IO\Select.pm
# IO::Select.pm
#
# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reser
+ved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
package IO::Select;
use strict;
use warnings::register;
use vars qw($VERSION @ISA);
require Exporter;
$VERSION = "1.21";
@ISA = qw(Exporter); # This is only so we can do version checking
sub VEC_BITS () {0}
sub FD_COUNT () {1}
sub FIRST_FD () {2}
which I'm pretty sure came out after that and still seeing the problem?
Perhaps because the 'fix', removes the handle from the array, but fails to remove it from the bitmask: } else { # remove
if ( ! defined $fn ) { # remove if fileno undef'd
defined($_) && $_ == $f and do { $vec->[FD_COUNT]--; $_ = und
+ef; }
for @{$vec}[FIRST_FD .. $#$vec];
next; #######################################################
+#### ????
}
my $i = $fn + FIRST_FD;
next unless defined $vec->[$i];
$vec->[FD_COUNT]--;
vec($bits, $fn, 1) = 0;
$vec->[$i] = undef;
}
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP Neil Armstrong
|