fix: don't close closed sockets (#2462)

This commit is contained in:
cyan
2025-08-19 18:04:08 +03:00
committed by GitHub
parent 6818f58798
commit 013211e7a6
3 changed files with 10 additions and 5 deletions
+4 -2
View File
@@ -15,13 +15,15 @@ class ProxySocketInsecure implements ProxySocket {
ProxyAddress get address => ProxyAddress(host: socket.remoteAddress.host, port: socket.remotePort);
@override
Future<void> close() {
Future<void> close() async {
if (_isClosed) return;
_isClosed = true;
return socket.close();
}
@override
void destroy() {
void destroy() async {
if (_isClosed) return;
_isClosed = true;
socket.destroy();
}
+4 -2
View File
@@ -15,13 +15,15 @@ class ProxySocketSecure implements ProxySocket {
ProxyAddress get address => ProxyAddress(host: socket.remoteAddress.host, port: socket.remotePort);
@override
Future<void> close() {
Future<void> close() async {
if (_isClosed) return;
_isClosed = true;
return socket.close();
}
@override
void destroy() {
void destroy() async {
if (_isClosed) return;
_isClosed = true;
socket.destroy();
}
+2 -1
View File
@@ -14,7 +14,8 @@ class ProxySocketSocks implements ProxySocket {
ProxyAddress get address => ProxyAddress(host: socket.proxyHost, port: socket.proxyPort);
@override
Future<void> close() {
Future<void> close() async {
if (_isClosed) return;
_isClosed = true;
return socket.close();
}