Turn out one cannot close a socket while waiting on
it in a select() call. It is actuallt _undefined_ behavior!!

-> Revert to previous wait_for implementation.