From 45edc547a827c4e38b7ec82de6d96e77ca5e593f Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 12 Jun 2018 09:49:09 +0200 Subject: gcron: catch OSError as well as IOError In case os.open() fails because the file does not exist, an OSError is raised. To prevent the script to abort uncleanly, catch the OSError in addition to the IOError. Change-Id: I48e5b23e17d63639cc33db51b4229249a9887880 Fixes: bz#1590195 Signed-off-by: Niels de Vos (cherry picked from commit 26b52694feb04c98e6c9436bcd4e23e1687f0237) --- extras/snap_scheduler/gcron.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extras/snap_scheduler/gcron.py b/extras/snap_scheduler/gcron.py index 3f2ba388ccc..853713275ce 100755 --- a/extras/snap_scheduler/gcron.py +++ b/extras/snap_scheduler/gcron.py @@ -105,10 +105,10 @@ def doJob(name, lockFile, jobFunc, volname): else: log.info("Job %s has been processed already", name) fcntl.flock(f, fcntl.LOCK_UN) - except IOError as (errno, strerror): + except (OSError, IOError) as (errno, strerror): log.info("Job %s is being processed by another agent", name) os.close(f) - except IOError as (errno, strerror): + except (OSError, IOError) as (errno, strerror): log.debug("Failed to open lock file %s : %s", lockFile, strerror) log.error("Failed to process job %s", name) success = False -- cgit