+ if self.socket is not None:
+ self.socket.close()
+ if self.sque is not None:
+ self.sque.put(True) # Terminate listening thread
+ if self.message_thread is not None and self.message_thread.is_alive():
+ # Allow additional connect() calls.
+ self.message_thread.join()
+ # Wipe message table, VPP can be restarted with different plugins.
+ self.message_table = {}
+ # Collect garbage.
+ self.message_thread = None
+ self.socket = None
+ # Queues will be collected after connect replaces them.