sim-se: Properly handle a clone with the VFORK flag
When clone is called with the VFORK flag, the calling process is
suspended until the child process either exits, or calls execve.
This patch adds in a new variable to Process, which is used to store the
context of the calling process if this process is created through a
clone with VFORK set.
This patch also adds the required support in clone to suspend the
calling thread, and in exitImpl and execveFunc to wake up the calling
thread when the child thread calls either of those functions
Tested-by: kokoro <email@example.com>
Reviewed-by: Bobby R. Bruce <firstname.lastname@example.org>
Reviewed-by: Matt Sinclair <email@example.com>
Maintainer: Matt Sinclair <firstname.lastname@example.org>
4 files changed