SLING-10580 - While receiving commands, SocketException is not handled in readline()
Co-authored-by: ankitaag <ankitaag@adobe.com>
diff --git a/src/main/java/org/apache/sling/launchpad/app/ControlListener.java b/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
index 6e6284b..ac0af14 100644
--- a/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
+++ b/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
@@ -37,6 +37,7 @@
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
+import java.net.SocketException;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Arrays;
@@ -214,7 +215,14 @@
}
try {
- final String commandLine = readLine(s);
+ String commandLine = null;
+ try {
+ commandLine = readLine(s);
+ } catch (SocketException ignore) {
+ Main.error("Failure in accessing a socket", ignore);
+ continue;
+ }
+
if (commandLine == null) {
final String msg = "ERR: missing command";
writeLine(s, msg);