From 26b52694feb04c98e6c9436bcd4e23e1687f0237 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#1590193 Signed-off-by: Niels de Vos --- 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 8324231a82c..b4c1146759b 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