When the Machine thread is stopped, it tries to connect to devices that may not be available; it creates issues to stop the server, which can wait for the devices for a long time (Machine. join function).
Possible solution:
- User pressed ctrl+c
- The server calls the Machine.stop and Machine.join
- The Machine Thread first checks if the device is alive; if yes, send a kill command to the device
- Machine Thread finish joining normally
When the Machine thread is stopped, it tries to connect to devices that may not be available; it creates issues to stop the server, which can wait for the devices for a long time (Machine. join function).
Possible solution: