1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

lockfile: return a specific exit code when another instance is already running

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2020-06-08 14:28:17 +02:00
parent 7b56575ebd
commit 5f6de69fd3
2 changed files with 5 additions and 1 deletions

View File

@@ -21,12 +21,14 @@ try:
from ifupdown2.ifupdown.ifupdownmain import ifupdownMain
from ifupdown2.lib.dry_run import DryRunManager
from ifupdown2.lib.status import Status
except (ImportError, ModuleNotFoundError):
from ifupdown.argv import Parse
from ifupdown.utils import utils
from ifupdown.config import IFUPDOWN2_CONF_PATH
from ifupdown.ifupdownmain import ifupdownMain
from lib.status import Status
from lib.dry_run import DryRunManager
@@ -69,7 +71,8 @@ class Ifupdown2:
self.init(stdin_buffer)
if self.op != 'query' and not utils.lockFile(lockfile):
raise Exception("Another instance of this program is already running.")
log.error("Another instance of this program is already running.")
return Status.Client.STATUS_ALREADY_RUNNING
self.handlers.get(self.op)(self.args)
except Exception as e:

View File

@@ -39,6 +39,7 @@ class Status(object):
STATUS_EXCEPTION_MAIN = 99
STATUS_ARGV_ERROR = 90
STATUS_ALREADY_RUNNING = 89
class Daemon(object):
STATUS_SUCCESS = 0