https://bugs.kde.org/show_bug.cgi?id=384732

Ivo Raisr <iv...@ivosh.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iv...@ivosh.net

--- Comment #8 from Ivo Raisr <iv...@ivosh.net> ---
Solaris port had to support "proper" vfork semantics right from the beginning
because Solaris libc relies on its proper functioning.

So there are some clever workarounds how to "preserve" vfork semantics but
translate it to fork() at the same time.
Have a look at coregrind/m_syswrap/syswrap-solaris.c and
coregrind/vg_preloaded.c, search there for "vfork".
Apart from other stuff which goes on there, a pipe is created to communicate
error code from child to parent. This in fact emulates shared address space.

If I understand it correctly, pipe was used previously for the very same reason
in glibc <= 2.24. Perhaps this mechanism can be leveraged in Valgrind for glibc
>= 2.25?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to