This should help when gzserver does not respond yet and we end up
without a model and hence can't connect later and time out.
This change also required a fix to prevent the tester to hang on
terminating all runners. By using poll instead of only read we can
prevent that and actually properly join the logger thread.