The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit ef04549d8d0337573d5d856929a108c3132f93b7
Author: Julien Rioux <[email protected]>
Date:   Mon Feb 4 15:45:14 2013 +0100

    configure.py: Check path accessibility before call to os.path.isfile.
    
    If you have an unmounted dir, ac_dir, in your PATH, the call to
    
    os.path.isfile( os.path.join(ac_dir, ac_word + ext) )
    
    hangs. This is probably a python bug, but the result of configure.py
    hanging and LyX freezing is really bad, hence this workaround.
    
    According to the python docs, MacOS doesn't provide os.access();
    the hasattr protection is used for this reason.

diff --git a/lib/configure.py b/lib/configure.py
index 78983e3..d6537e2 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -198,6 +198,8 @@ def checkProg(description, progs, rc_entry = [], path = [], 
not_found = ''):
         if "PATHEXT" in os.environ:
             extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
         for ac_dir in path:
+            if hasattr(os, "access") and not os.access(ac_dir, os.F_OK):
+                continue
             for ext in extlist:
                 if os.path.isfile( os.path.join(ac_dir, ac_word + ext) ):
                     logger.info(msg + ' yes')
@@ -252,6 +254,8 @@ def checkProgAlternatives(description, progs, rc_entry = 
[], alt_rc_entry = [],
             extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
         found_alt = False
         for ac_dir in path:
+            if hasattr(os, "access") and not os.access(ac_dir, os.F_OK):
+                continue
             for ext in extlist:
                 if os.path.isfile( os.path.join(ac_dir, ac_word + ext) ):
                     logger.info(msg + ' yes')

-----------------------------------------------------------------------

Summary of changes:
 lib/configure.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to