No It is needed because it is not to guard from wrong input, but to make sure that the remote process has chance to respond in case when 0 timeout it specified but the specified number of call already happened. In that case `wait` should complete successfully. Previously the caller waited for response from `meck_proc` but now caller has its own timeout and that is why 0 timeout requires its own case. If you do not get what  I am saying that is probably because I am typing an answer having a couple of bears in me :)