|
an environment variable across fork().
This does a couple of things. One is, move the fork/vfork and execl*
functions out of the standard wrapper environment. Having done that,
the execl*() wrappers are rewritten so they can use real_execv*()
when running in antimagic mode.
This allows us to run pseudo entirely in antimagic mode. Which is
handy, because we also add support for enabling/disabling antimagic
mode in the child process on a fork, using an additional hook for
this in the pseudo_client_init() routine. The redone fork() wrapper
now calls pseudo_client_init() in the child process after a
successful fork even if it's in antimagic mode already.
This is not yet well-tested.
|