Fix #109. SIGINT signal and threads in Python aren't friends. So let's not join the client's thread as it prevents the signal to bubble to the main thread. Instead let's give the main thread a chance to take control periodically