do not wait forever for zombie websocket threads (this change should also reveal how we get these sometimes)