-
- # remove me from the active list
- my $call;
- if ($call = $conn->{call}) {
- my $ref = $conns{$call};
- delete $conns{$call} if $ref && $ref == $conn;
+ if ($sock->{buffer}) {
+ my $lth = length $sock->{buffer};
+ Mojo::IOLoop->timer($disc_waittime, sub {
+ dbg("Buffer contained $lth characters, coordinated for $disc_waittime secs, now disconnecting $call") if $dbg;
+ _close_it($conn);
+ });
+ } else {
+ dbg("Buffer empty, just close $call") if $dbg;
+ _close_it($conn);