It implies that the exec* functions return upon success, which they do not. Rather, the new process replaces the current process, and they only return if the exec* call fails. To quote the man page: > The exec() functions only return if an error has have occurred. The return value is -1, and errno is set to indicate the error. http://linux.die.net/man/3/exec http://msdn.microsoft.com/en-us/library/3xw6zy53.aspx
Coincidentally, I discovered this doc bug at about the same time. So I submitted a pull request: https://github.com/D-Programming-Language/phobos/pull/812 .
Pull was merged, fixed I guess.