AWAIT_INT_MESSAGE
AWAIT_INT_MESSAGE(sock_fds[0], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(sock_fds[1], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(sock_fds[1], MSG_CHILD_FD_RECEIVED);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(fd, MSG_PARENT_CHILD_SHOULD_RUN);
AWAIT_INT_MESSAGE(proc_pipe[1], MSG_PARENT_CHILD_SHOULD_RUN);
AWAIT_INT_MESSAGE(proc_pipe[0], 0);
AWAIT_INT_MESSAGE(proc_pipe[0], 0);
AWAIT_INT_MESSAGE(proc_pipe[0], 0);
AWAIT_INT_MESSAGE(sock_fds[0], MSG_PARENT_CLOSED_FD);
AWAIT_INT_MESSAGE(sock_fds[1], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(sock_fds[1], MSG_CHILD_FD_RECEIVED);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(thread_pipefds[1], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(sock_fds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_REQUEST_CHILD_EXIT);
AWAIT_INT_MESSAGE(pipefds[0], MSG_CHILD_STARTED);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_CHILD_SHOULD_RUN);
AWAIT_INT_MESSAGE(pipefds[1], MSG_PARENT_CHILD_SHOULD_RUN);