diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-11-13 13:10:00 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-11-13 13:10:00 +0000 |
commit | e9d044d4b9b71200a96adfa280848858c0f468c9 (patch) | |
tree | 1bd8ef816043a8cd340f1d774e79553a1a7d31d8 /app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch | |
parent | fc2f1018fc323ef2c6572734a9b130427cba76a6 (diff) |
gentoo resync : 13.11.2021
Diffstat (limited to 'app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch')
-rw-r--r-- | app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch b/app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch new file mode 100644 index 000000000000..5c892a8ecab8 --- /dev/null +++ b/app-admin/abrt/files/abrt-2.14.6-lazy-imports.patch @@ -0,0 +1,57 @@ +From 4755f2171aa50a72d8ec03260c8cbc602263a6c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> +Date: Fri, 24 Sep 2021 17:48:07 +0200 +Subject: [PATCH] Use lazy imports in abrt_exception_handler3 + +The abrt_exception_handler3 module is always imported when Python starts, +but all the modules imported from it (except sys) are only used during crashes. + +Especially the systemd.journal import is really expensive. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2007664 +--- + src/hooks/abrt_exception_handler3.py.in | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/hooks/abrt_exception_handler3.py.in b/src/hooks/abrt_exception_handler3.py.in +index 89e2474b..0bc548e0 100644 +--- a/src/hooks/abrt_exception_handler3.py.in ++++ b/src/hooks/abrt_exception_handler3.py.in +@@ -20,13 +20,15 @@ + Module for the ABRT exception handling hook + """ + ++# Avoid importing anything but sys here, use lazy imports. ++# This file is imported on every Python startup, ++# all unused imports only increase the startup time and memory usage. + import sys +-import os + +-from systemd import journal + + def syslog(msg): + """Log message to system logger (journal)""" ++ from systemd import journal + + journal.send(msg) + +@@ -68,6 +70,8 @@ def send(data): + + + def write_dump(tb_text, tb): ++ import os ++ + if sys.argv[0][0] == "/": + executable = os.path.abspath(sys.argv[0]) + else: +@@ -118,6 +122,7 @@ def handle_exception(etype, value, tb): + sys.excepthook = sys.__excepthook__ # pylint: disable-msg=E1101 + + import errno ++ import os + + # Ignore Ctrl-C + # SystemExit rhbz#636913 -> this exception is not an error +-- +2.31.1 + |