&{$conn->{eproc}}($conn, $!) if exists $conn->{eproc};
$conn->disconnect;
} else {
- $conn->dequeue if exists $conn->{msg};
+ unless ($conn->{disable_read}) {
+ $conn->dequeue if exists $conn->{msg};
+ }
}
}
}
}
+sub disable_read
+{
+ my $conn = shift;
+ set_event_handler ($conn->{sock}, read => undef);
+ return $_[0] ? $conn->{disable_read} = $_[0] : $_[0];
+}
+
#
#----------------------------------------------------
# Event loop routines used by both client and server