- return unless defined($sock);
- set_event_handler ($sock, read => undef, write => undef, error => undef);
- shutdown($sock, 3);
- close($sock);
+ if (defined($sock)) {
+ set_event_handler ($sock, read => undef, write => undef, error => undef);
+ shutdown($sock, 3);
+ close($sock);
+ }
+
+ unless ($main::is_win) {
+ kill 'TERM', $conn->{pid} if exists $conn->{pid};
+ }
+