When the client examples are killed using SIGKILL, an unused port remains taken on the server and (perhaps) some threads are not correctly destroyed.