From 16b9e253f41b1a4b4ca61056888c96bd135259ac Mon Sep 17 00:00:00 2001 From: lolodomo Date: Tue, 6 Apr 2021 08:47:20 +0200 Subject: [PATCH] [sonyprojector] Fix handling of InterruptedException (Thread.sleep) (#10458) Signed-off-by: Laurent Garnier --- .../internal/communication/SonyProjectorConnector.java | 6 +++++- .../communication/serial/SonyProjectorSerialConnector.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorConnector.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorConnector.java index 5db6305c33b62..c037924dd9054 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorConnector.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorConnector.java @@ -950,9 +950,13 @@ private synchronized void sendIR(SonyProjectorItem item) throws SonyProjectorExc if (!runningSession) { close(); } - } catch (SonyProjectorException | InterruptedException e) { + } catch (SonyProjectorException e) { logger.debug("Send IR {} failed: {}", item.getName(), e.getMessage()); throw new SonyProjectorException("Send IR " + item.getName() + " failed: " + e.getMessage()); + } catch (InterruptedException e) { + logger.debug("Send IR {} interrupted: {}", item.getName(), e.getMessage()); + Thread.currentThread().interrupt(); + throw new SonyProjectorException("Send IR " + item.getName() + " interrupted: " + e.getMessage()); } logger.debug("Send IR {} succeeded", item.getName()); diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java index 2d0787d009bdc..673c86182d184 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java @@ -302,6 +302,7 @@ public void serialEvent(SerialPortEvent serialPortEvent) { logger.debug("RXTX library CPU load workaround, sleep forever"); Thread.sleep(Long.MAX_VALUE); } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } } }