Gregory P. Smith <g...@krypto.org> added the comment:

Give all of this, the lesson I'd take away is perhaps that we should just 
provide the constant in the os module when available at build time (a configure 
check) and let people who find a need to use it on their system check for its 
presence and use it in their code.

The general theme of the posix / os module is intentionally low level:  Expose 
the APIs and let people make decisions about when to use what at a higher level.

It sounds like a use_vfork=XXX parameter is undesirable at this point unless 
you wanted to make it clear by its name that it is a glibc only thing feature 
glibc_use_vfork=XXX perhaps (if exposing the POSIX_SPAWN_USEVFORK flag name 
itself to be or'ed in is undesirable from a Pythonic API point of view).

The problem with a parameter such named is that you then have to decide on 
error semantics and need a way for people to know when they can or can't use it 
prior to calling posix_spawn() itself.

With a constant that you or into flags, you can use hasattr to check the 
presence of the constant to determine if you can try using it.  (the libc call 
could still return an error which we'd turn into an OSError exception if the 
API call doesn't support that flag or otherwise doesn't like the combination of 
flags you passed - but that situation is always possible in any API)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue34663>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to