controller: join controller thread in kill()
diff --git a/src/python/oftest/controller.py b/src/python/oftest/controller.py
index a07433b..91d4fb5 100644
--- a/src/python/oftest/controller.py
+++ b/src/python/oftest/controller.py
@@ -213,7 +213,7 @@
                 if hdr:
                     self.logger.error("hdr len %d." % hdr.length)
                 self.logger.error("%s" % hex_dump_buffer(pkt[:200]))
-                self.kill()
+                self.shutdown()
                 return
 
             # Extract the raw message bytes
@@ -477,12 +477,10 @@
     def kill(self):
         """
         Force the controller thread to quit
-
-        Just sets the active state variable to false and expects
-        the select timeout to kick in
         """
         self.active = False
         self.wakeup()
+        self.join()
 
     def shutdown(self):
         """