mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
4a46e91cbf
Python 2.2.2. Not approved by: tg (short timeout)
77 lines
2.1 KiB
Python
77 lines
2.1 KiB
Python
*** Lib/os.py.orig Thu Sep 28 14:10:56 2000
|
|
--- Lib/os.py Mon Nov 11 15:18:05 2002
|
|
***************
|
|
*** 234,241 ****
|
|
args may be a list or tuple of strings. """
|
|
_execvpe(file, args, env)
|
|
|
|
- _notfound = None
|
|
def _execvpe(file, args, env=None):
|
|
if env is not None:
|
|
func = execve
|
|
argrest = (args, env)
|
|
--- 234,242 ----
|
|
args may be a list or tuple of strings. """
|
|
_execvpe(file, args, env)
|
|
|
|
def _execvpe(file, args, env=None):
|
|
+ from errno import ENOENT, ENOTDIR
|
|
+
|
|
if env is not None:
|
|
func = execve
|
|
argrest = (args, env)
|
|
***************
|
|
*** 243,249 ****
|
|
func = execv
|
|
argrest = (args,)
|
|
env = environ
|
|
- global _notfound
|
|
head, tail = path.split(file)
|
|
if head:
|
|
apply(func, (file,) + argrest)
|
|
--- 244,249 ----
|
|
***************
|
|
*** 253,272 ****
|
|
else:
|
|
envpath = defpath
|
|
PATH = envpath.split(pathsep)
|
|
! if not _notfound:
|
|
! import tempfile
|
|
! # Exec a file that is guaranteed not to exist
|
|
! try: execv(tempfile.mktemp(), ('blah',))
|
|
! except error, _notfound: pass
|
|
! exc, arg = error, _notfound
|
|
for dir in PATH:
|
|
fullname = path.join(dir, file)
|
|
try:
|
|
apply(func, (fullname,) + argrest)
|
|
! except error, (errno, msg):
|
|
! if errno != arg[0]:
|
|
! exc, arg = error, (errno, msg)
|
|
! raise exc, arg
|
|
|
|
# Change environ to automatically call putenv() if it exists
|
|
try:
|
|
--- 253,273 ----
|
|
else:
|
|
envpath = defpath
|
|
PATH = envpath.split(pathsep)
|
|
! saved_exc = None
|
|
! saved_tb = None
|
|
for dir in PATH:
|
|
fullname = path.join(dir, file)
|
|
try:
|
|
apply(func, (fullname,) + argrest)
|
|
! except error, e:
|
|
! tb = sys.exc_info()[2]
|
|
! if (e.errno != ENOENT and e.errno != ENOTDIR
|
|
! and saved_exc is None):
|
|
! saved_exc = e
|
|
! saved_tb = tb
|
|
! if saved_exc:
|
|
! raise error, saved_exc, saved_tb
|
|
! raise error, e, tb
|
|
|
|
# Change environ to automatically call putenv() if it exists
|
|
try:
|