[Python-Dev] Weird error handling in os._execvpe
Guido van Rossum
guido@python.org
Fri, 02 Aug 2002 10:38:14 -0400
> On Thu, Aug 01, 2002 at 03:27:43PM -0400, Guido van Rossum wrote:
>
> > ... I don't recall exactly why we ended up in this situation in the
> > first place. It's possible that it's an unnecessary sacrifice of a
> > dead chicken, but it's also possible that there are platforms where
> > this addressed a real need. I'd like to think that it was because I
> > didn't want to add more cruft to posixmodule.c (I've long given up
> > on that :-).
>
> I found out why it's done the way it is: There is no execvpe() in C,
> not even in the extended-to-hell-and-back GNU libc. I considered
> dinking around with the C-level environ pointer so that execvp() would
> do what we want, but this seems unreliable at best, given how many
> different ways to access the environment there are.
:-)
> So I think we're back to option 2 (enumerate the possible errors for
> each platform). ENOENT and ENOTDIR should cover it for Unix. Would
> other platform maintainers care to comment, please?
Don't wait for them. Just submit a patch and assign it to me. :-)
--Guido van Rossum (home page: http://www.python.org/~guido/)