From 323e3b6ae071861d24f89951791316a21cb74574 Mon Sep 17 00:00:00 2001 From: Ismail Pazarbasi Date: Sun, 15 Feb 2015 21:50:28 +0000 Subject: os.remove shouldn't fail, if file doesn't exist Summary: os.remove might throw an exception (of type OSError), if given file doesn't exist. Catch the exception, and ignore it //iff// errno is ENOENT. Rethrow the exception, if errno is not ENOENT. Reviewers: emaste Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6362 llvm-svn: 229334 --- lldb/scripts/Python/buildSwigPython.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lldb/scripts/Python/buildSwigPython.py') diff --git a/lldb/scripts/Python/buildSwigPython.py b/lldb/scripts/Python/buildSwigPython.py index 57ebc4692d3..5eff25f3bcd 100644 --- a/lldb/scripts/Python/buildSwigPython.py +++ b/lldb/scripts/Python/buildSwigPython.py @@ -429,6 +429,18 @@ def get_config_build_dir( vDictArgs, vstrFrameworkPythonDir ): return (bOk, strConfigBldDir, strErrMsg); +""" +Removes given file, ignoring error if it doesn't exist. +""" +def remove_ignore_enoent(filename): + try: + os.remove( strSwigOutputFile ); + except OSError as e: + import errno + if e.errno != errno.ENOENT: + raise + pass + #++--------------------------------------------------------------------------- # Details: Do a SWIG code rebuild. Any number returned by SWIG which is not # zero is treated as an error. The generate dependencies flag decides @@ -685,7 +697,7 @@ def main( vDictArgs ): # iOS be sure to set LLDB_DISABLE_PYTHON to 1. if (strEnvVarLLDBDisablePython != None) and \ (strEnvVarLLDBDisablePython == "1"): - os.remove( strSwigOutputFile ); + remove_ignore_enoent( strSwigOutputFile ) open( strSwigOutputFile, 'w' ).close(); # Touch the file if bDebug: strMsg = strMsgLldbDisablePython; @@ -698,7 +710,7 @@ def main( vDictArgs ): None ); if (strEnvVarGccPreprocessDefs != None) or \ (strEnvVarLLDBDisablePython != None): - os.remove( strSwigOutputFile ); + remove_ignore_enoent( strSwigOutputFile ) open( strSwigOutputFile, 'w' ).close(); # Touch the file if bDebug: strMsg = strMsgLldbDisableGccEnv; -- cgit v1.2.3