From 968f91e63d7af40bdad357147307cc95ce1159a9 Mon Sep 17 00:00:00 2001
From: brutzman <brutzman@nps.edu>
Date: Mon, 20 Dec 2021 21:52:14 -0800
Subject: [PATCH] forcibly killing threads and clearing buffers

---
 .../dis7/utilities/DisThreadedNetworkInterface.java      | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java b/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java
index 3268176ea2..eb82107eda 100644
--- a/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java
+++ b/src/edu/nps/moves/dis7/utilities/DisThreadedNetworkInterface.java
@@ -479,6 +479,7 @@ public class DisThreadedNetworkInterface
         }
         try {
             // operations are finished
+            pdus2send.clear();
             dos.close();
             this.close();
         }
@@ -536,8 +537,10 @@ public class DisThreadedNetworkInterface
     
     try
     {
-        senderThread.join(2000); // wait for thread to die, msec max duration
-      receiverThread.join(2000); // wait for thread to die, msec max duration
+        senderThread.join(4000); // wait for thread to die, msec max duration
+      receiverThread.join(4000); // wait for thread to die, msec max duration
+        senderThread = null; // make sure
+      receiverThread = null; // make sure
     }
     catch (InterruptedException ie)
     {
@@ -567,6 +570,8 @@ public class DisThreadedNetworkInterface
         }
     }
     datagramSocket = null; // make sure
+    System.err.flush(); // ensure all output sent
+    System.out.flush(); // ensure all output sent
   }
 
   /** Thread sleep for indicated interval
-- 
GitLab