lvm2/0003-lvmdbusd-Correct-seg.-...

48 lines
1.2 KiB
Diff

From feb7c701aa86fda1f13f6c262770a8e90e8ddb09 Mon Sep 17 00:00:00 2001
From: Tony Asleson <tasleson@redhat.com>
Date: Thu, 30 Mar 2023 10:10:23 -0500
Subject: [PATCH 3/3] lvmdbusd: Correct seg. fault on s390x ELN
syscall 186 is specific to x86 64bit. As this is different from arch
to arch and between same arch different arch size we will only grab
thread ID using built-in python support if it is supported.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2166931
---
daemons/lvmdbusd/utils.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/daemons/lvmdbusd/utils.py b/daemons/lvmdbusd/utils.py
index fdd7578c1..27b869c13 100644
--- a/daemons/lvmdbusd/utils.py
+++ b/daemons/lvmdbusd/utils.py
@@ -11,7 +11,6 @@ import xml.etree.ElementTree as Et
import sys
import inspect
import collections
-import ctypes
import errno
import fcntl
import os
@@ -305,8 +304,16 @@ class DebugMessages(object):
self.queue.clear()
+def _get_tid():
+ try:
+ # Only 3.8 and later have this
+ return threading.get_native_id()
+ except:
+ return -1
+
+
def _format_log_entry(msg):
- tid = ctypes.CDLL('libc.so.6').syscall(186)
+ tid = _get_tid()
if not cfg.systemd and STDOUT_TTY:
msg = "%s: %d:%d - %s" % \
--
2.39.2