fix(PortProxy): Improve socket cleanup logic to prevent potential resource leaks
This commit is contained in:
		@@ -1,5 +1,10 @@
 | 
			
		||||
# Changelog
 | 
			
		||||
 | 
			
		||||
## 2025-02-22 - 3.10.1 - fix(PortProxy)
 | 
			
		||||
Improve socket cleanup logic to prevent potential resource leaks
 | 
			
		||||
 | 
			
		||||
- Updated socket cleanup in PortProxy to ensure sockets are forcefully destroyed if not already destroyed.
 | 
			
		||||
 | 
			
		||||
## 2025-02-22 - 3.10.0 - feat(smartproxy.portproxy)
 | 
			
		||||
Enhance PortProxy with detailed connection statistics and termination tracking
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,6 @@
 | 
			
		||||
 */
 | 
			
		||||
export const commitinfo = {
 | 
			
		||||
  name: '@push.rocks/smartproxy',
 | 
			
		||||
  version: '3.10.0',
 | 
			
		||||
  version: '3.10.1',
 | 
			
		||||
  description: 'a proxy for handling high workloads of proxying'
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -149,16 +149,12 @@ export class PortProxy {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async start() {
 | 
			
		||||
    // Adjusted cleanUpSockets to allow an optional outgoing socket.
 | 
			
		||||
    // Adjusted cleanUpSockets: forcefully destroy both sockets if they haven't been destroyed.
 | 
			
		||||
    const cleanUpSockets = (from: plugins.net.Socket, to?: plugins.net.Socket) => {
 | 
			
		||||
      from.end();
 | 
			
		||||
      from.removeAllListeners();
 | 
			
		||||
      from.unpipe();
 | 
			
		||||
      from.destroy();
 | 
			
		||||
      if (to) {
 | 
			
		||||
        to.end();
 | 
			
		||||
        to.removeAllListeners();
 | 
			
		||||
        to.unpipe();
 | 
			
		||||
      if (!from.destroyed) {
 | 
			
		||||
        from.destroy();
 | 
			
		||||
      }
 | 
			
		||||
      if (to && !to.destroyed) {
 | 
			
		||||
        to.destroy();
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user