From c4110791a3e6cb57b8be80a52890db9aaae5bda2 Mon Sep 17 00:00:00 2001 From: Jakub Klama Date: Wed, 22 Apr 2015 21:50:15 +0200 Subject: [PATCH] Register cleanup routines via atexit() instead. --- build/lib/utils.py | 7 +++---- build/tools/build-ports.py | 5 ++--- build/tools/install-ports.py | 7 +++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/build/lib/utils.py b/build/lib/utils.py index 23d7de7..6c74ba9 100644 --- a/build/lib/utils.py +++ b/build/lib/utils.py @@ -30,7 +30,7 @@ import sys import time import datetime import subprocess -import signal +import atexit import string import signal import inspect @@ -123,13 +123,12 @@ def appendfile(filename, contents): f.write('\n') -def on_abort(func): +def on_exit(func): def abort(): info('Build aborted, cleaning up') func() - signal.signal(signal.SIGINT, abort) - signal.signal(signal.SIGTERM, abort) + atexit.register(abort) def get_caller_vars(): diff --git a/build/tools/build-ports.py b/build/tools/build-ports.py index e4bc964..b8e2dd3 100755 --- a/build/tools/build-ports.py +++ b/build/tools/build-ports.py @@ -30,7 +30,7 @@ import os import sys import string from dsl import load_file -from utils import sh, sh_str, env, e, objdir, pathjoin, setfile, setup_env, template, debug, error, on_abort, info +from utils import sh, sh_str, env, e, objdir, pathjoin, setfile, setup_env, template, debug, error, on_exit, info makejobs = 1 @@ -159,7 +159,7 @@ if __name__ == '__main__': sys.exit(0) create_overlay() - on_abort(cleanup_env) + on_exit(cleanup_env) obtain_jail_name() calculate_make_jobs() create_poudriere_config() @@ -169,4 +169,3 @@ if __name__ == '__main__': merge_freenas_ports() prepare_env() run() - cleanup_env() diff --git a/build/tools/install-ports.py b/build/tools/install-ports.py index 757970e..29011f5 100755 --- a/build/tools/install-ports.py +++ b/build/tools/install-ports.py @@ -31,7 +31,7 @@ import os import sys import glob from dsl import load_file -from utils import sh, setup_env, objdir, info, debug, error, setfile, e, on_abort, chroot +from utils import sh, setup_env, objdir, info, debug, error, setfile, e, on_exit, chroot dsl = load_file('${BUILD_CONFIG}/ports.pyd', os.environ) @@ -66,8 +66,7 @@ if __name__ == '__main__': info('Installing ports') info('Log file: {0}', logfile) - on_abort(umount_packages) + on_exit(umount_packages) mount_packages() create_pkgng_configuration() - install_ports() - umount_packages() \ No newline at end of file + install_ports() \ No newline at end of file