From e01a3049c20c4f41e54827988efedae96e2b0707 Mon Sep 17 00:00:00 2001 From: Brendan Robert Date: Sat, 8 Aug 2015 04:02:40 -0500 Subject: [PATCH] Prevent hanging when removing SSC cards from configuration --- src/main/java/jace/hardware/CardSSC.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/jace/hardware/CardSSC.java b/src/main/java/jace/hardware/CardSSC.java index d20f764..1d5438c 100644 --- a/src/main/java/jace/hardware/CardSSC.java +++ b/src/main/java/jace/hardware/CardSSC.java @@ -152,6 +152,7 @@ public class CardSSC extends Card implements Reconfigurable { hangUp(); socketInput = null; } + Thread.yield(); } catch (SocketTimeoutException ex) { // Do nothing } catch (IOException ex) { @@ -446,7 +447,8 @@ public class CardSSC extends Card implements Reconfigurable { hangUp(); if (listenThread != null && listenThread.isAlive()) { try { - listenThread.join(); + listenThread.interrupt(); + listenThread.join(100); } catch (InterruptedException ex) { Logger.getLogger(CardSSC.class.getName()).log(Level.SEVERE, null, ex); }