From a9f6028ef1214bfed69efd0aff59131327a06b8e Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Sat, 28 Nov 2015 00:01:41 +0200 Subject: fix second try of running daemon: second daemonize_parser() ruins input args --- .../trex_control_plane/server/extended_daemon_runner.py | 7 +++++-- .../automation/trex_control_plane/server/trex_daemon_server.py | 10 +--------- 2 files changed, 6 insertions(+), 11 deletions(-) (limited to 'scripts/automation/trex_control_plane/server') diff --git a/scripts/automation/trex_control_plane/server/extended_daemon_runner.py b/scripts/automation/trex_control_plane/server/extended_daemon_runner.py index 734fa22e..a374db30 100755 --- a/scripts/automation/trex_control_plane/server/extended_daemon_runner.py +++ b/scripts/automation/trex_control_plane/server/extended_daemon_runner.py @@ -19,7 +19,6 @@ def daemonize_parser(parser_obj, action_funcs, help_menu): parser_obj.usage = None parser_obj.add_argument("action", choices=action_funcs, action="store", help=help_menu) - return class ExtendedDaemonRunner(runner.DaemonRunner): @@ -76,7 +75,11 @@ class ExtendedDaemonRunner(runner.DaemonRunner): self.app = app self.daemon_context = daemon.DaemonContext() self.daemon_context.stdin = open(app.stdin_path, 'rt') - self.daemon_context.stdout = open(app.stdout_path, 'w+t') + try: + self.daemon_context.stdout = open(app.stdout_path, 'w+t') + except IOError as err: + app.stdout_path = "/dev/null" + self.daemon_context.stdout = open(app.stdout_path, 'w+t') self.daemon_context.stderr = open(app.stderr_path, 'a+t', buffering=0) diff --git a/scripts/automation/trex_control_plane/server/trex_daemon_server.py b/scripts/automation/trex_control_plane/server/trex_daemon_server.py index ec07cb8a..9784d42a 100755 --- a/scripts/automation/trex_control_plane/server/trex_daemon_server.py +++ b/scripts/automation/trex_control_plane/server/trex_daemon_server.py @@ -57,15 +57,7 @@ def main (): print "Launching user must have sudo privileges in order to run TRex daemon.\nTerminating daemon process." exit(-1) - try: - daemon_runner = ExtendedDaemonRunner(trex_app, trex_parser) - except IOError as err: - # catch 'tty' error when launching server from remote location - if err.errno == errno.ENXIO: - trex_app.stdout_path = "/dev/null" - daemon_runner = ExtendedDaemonRunner(trex_app, trex_parser) - else: - raise + daemon_runner = ExtendedDaemonRunner(trex_app, trex_parser) #This ensures that the logger file handle does not get closed during daemonization daemon_runner.daemon_context.files_preserve=[handler.stream] -- cgit 1.2.3-korg