Re: posix_spawn (was: Bugs with execline/s6 documentation and skalibs functions using posix_spawn())
I have realised that a simpler unexecutable path can be, for example, /etc (is it mandated in POSIX?); this can save the mkstemp() call in the sysdep test. (And frankly I personally do not really find it much worthwhile to introduce this amount of complexity for the broken dependency of a quite minor performance optimisation...) -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2024.09.30) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C
Re: posix_spawn (was: Bugs with execline/s6 documentation and skalibs functions using posix_spawn())
On Wed, Jun 28, 2023 at 09:40:48PM +, Laurent Bercot wrote: > I pushed a workaround to the skalibs git. > Could you please try a build on a machine that exhibits the early > return behaviour and tell me if > - the behaviour is correctly detected by ./configure (the last sysdep) Yes, after changing `attrp' in tryposixspawnearlyreturn.c to `attr'. > - the child_spawn*() family of functions now works properly even on > this machine? Partially, after an additional WEXITED is OR-ed with the options for waitid() in child_spawn_workaround.c. When given an unexecutable path, child_spawn() returns 0, but errno is unset. > Also, can you please tell me what version of glibc these distribution > versions are running? glibc-2.17-317.el7.x86_64, from CentOS 7.9.2009. -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2024.09.30) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C
posix_spawn (was: Bugs with execline/s6 documentation and skalibs functions using posix_spawn())
I pushed a workaround to the skalibs git. Could you please try a build on a machine that exhibits the early return behaviour and tell me if - the behaviour is correctly detected by ./configure (the last sysdep) - the child_spawn*() family of functions now works properly even on this machine? Also, can you please tell me what version of glibc these distribution versions are running? Thanks! -- Laurent