You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2023/11/14 11:57:50 UTC

(logging-log4j-samples) 06/35: [LOG4J2-1994] TcpSocketServer does not close accepted Sockets.

This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch merge-server
in repository https://gitbox.apache.org/repos/asf/logging-log4j-samples.git

commit a7936562560782910bf3298018587ec5da566bc0
Author: Gary Gregory <gg...@apache.org>
AuthorDate: Fri Jul 28 16:05:17 2017 -0700

    [LOG4J2-1994] TcpSocketServer does not close accepted Sockets.
---
 .../main/java/org/apache/logging/log4j/server/TcpSocketServer.java   | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
index 4d8146b..af458f8 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
@@ -71,10 +71,12 @@ public class TcpSocketServer<T extends InputStream> extends AbstractSocketServer
     private class SocketHandler extends Log4jThread {
 
         private final T inputStream;
+        private final Socket socket;
 
         private volatile boolean shutdown = false;
 
         public SocketHandler(final Socket socket) throws IOException {
+            this.socket = socket;
             this.inputStream = logEventInput.wrapStream(socket.getInputStream());
         }
 
@@ -107,6 +109,9 @@ public class TcpSocketServer<T extends InputStream> extends AbstractSocketServer
 
         public void shutdown() {
             this.shutdown = true;
+            if (socket != null) {
+                Closer.closeSilently(socket);
+            }
             interrupt();
         }
     }