Takashi Kokubun <takashikkbn / gmail.com> wrote:
> Thanks to explain that.
> 
> > I suspect there is another thread which forks
> 
> Maybe it's MJIT worker thread and it forks for spawning GCC?
> If so, should we close inherited fds between fork and exec to prevent
> impact for applications?

Probably; because vfork only pauses MJIT thread; not any Ruby threads.

exec will already close because of FD_CLOEXEC, so this only
happens in short window between vfork+exec.  Not worth closing
ourselves because it only delays exec.

So MJIT thread should become a Ruby thread which can acquire GVL
on vfork (or evented/thread-less MJIT can happen).  But no time
for me.

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>