bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #63070] posix_spawn fails to run a child process.


From: Paul D. Smith
Subject: [bug #63070] posix_spawn fails to run a child process.
Date: Tue, 20 Sep 2022 02:29:40 -0400 (EDT)

Follow-up Comment #9, bug #63070 (project make):

Sorry Dmitry I'm still really confused.  Maybe it would help if you made more
clear what you discovered.

GNU make always sets POSIX_SPAWN_USEVFORK if it exists, and it does exist in
all versions of glibc we are discussing.

You have discovered that in glibc 2.17, posix_spawn() has a bug in its
behavior, with POSIX_SPAWN_USEVFORK set (since we've determined it is set
everywhere).

In glibc >=2.24, posix_spawn() does not have this bug with
POSIX_SPAWN_USEVFORK set (and, presumably, without it set either although I
didn't check this).

The question is, does posix_spawn() in glibc <2.24 (e.g., 2.17) and WITHOUT
POSIX_SPAWN_USEVFORK set also show this bug, or does it work properly without
vfork?

If older glibc works if you don't set POSIX_SPAWN_USEVFORK, then I suggest
that the thing to do is to detect whether this old version of glibc is being
used and if it is, then we don't use POSIX_SPAWN_USEVFORK regardless of
whether it exists or not, and just use normal posix_spawn().

If older glibc doesn't work even if you do use POSIX_SPAWN_USEVFORK, then I'm
not sure why we're even testing for this since it doesn't seem to make any
difference either way.

Am I missing something?


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63070>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]