[PATCH v2 3/3] posix: Use posix_spawn on system

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Oct 24 19:11:00 GMT 2018



On 24/10/2018 07:40, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> Although POSIX does not require, glibc system implementation aims to be
>> thread and cancellation safe.  While reentracy handling does not require
>> any direct change of current strategy, cancellation requires a posix_spawn
>> to be cancellable.
> 
> I don't think this is actually true.  My understanding is that
> posix_spawn does not block indefinitely in the parent, beyond things
> that are not cancellation points anyway (resource allocation).  I/O
> happens in the child process.  A posix_spawn that is a cancellation
> point will lead to marginally faster reaction to a cancellation request.
> But I think in practice, making the subsequent waitpid cancellable is
> sufficient, and it should help to reduce the size of the patch.

Indeed I think I overthought the cancellation handling requirements for
posix_spawn and I agree waitpid is suffice to handle system cancellation
(which is already a cancellable entrypoint). I will send an update version.



More information about the Libc-alpha mailing list