--- AnyEvent/lib/AnyEvent/Handle.pm 2010/10/12 06:47:54 1.200 +++ AnyEvent/lib/AnyEvent/Handle.pm 2010/10/13 01:15:57 1.201 @@ -767,6 +767,9 @@ *$timeout = sub { my ($self, $new_value) = @_; + $new_value >= 0 + or Carp::croak "AnyEvent::Handle->$timeout called with negative timeout ($new_value), caught"; + $self->{$timeout} = $new_value; delete $self->{$tw}; &$cb; };