Our forktest is passing when I comment out the errx for waitpid returning < 0. When the comment is included it seems as though the error reporting breaks the test.
I believe our waitpid is returning -1 properly because at some of the calls an ECHILD error should be returned.
What I think the issue is is that our console is not initialized correctly. STDIN STDOUT and STDERR all share the same vnode. I attempted to vfs_open 3 separate times however when passing in “con:” the second 2 opens fail with a file not found return.
I am aware vfs_open destroys the name however, I am casting the const “con:” to a char pointer 3 times rather than reusing a variable.
I have looked through most of the console code and the console just seems like a bit of a mystery to me.