summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/clustershell/files/clustershell-1.8.4-current-thread.patch')
-rw-r--r--app-admin/clustershell/files/clustershell-1.8.4-current-thread.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/app-admin/clustershell/files/clustershell-1.8.4-current-thread.patch b/app-admin/clustershell/files/clustershell-1.8.4-current-thread.patch
new file mode 100644
index 000000000000..bf9c7edb6a90
--- /dev/null
+++ b/app-admin/clustershell/files/clustershell-1.8.4-current-thread.patch
@@ -0,0 +1,95 @@
+Backported from upstream commit 314767d65c39 ("Fix for python-3.10") [1].
+
+[1] https://github.com/cea-hpc/clustershell/commit/314767d65c397fadc5ce0ae205a35d7bb47a68a8
+
+diff --git a/lib/ClusterShell/Task.py b/lib/ClusterShell/Task.py
+index b9142e6..8c9e1b9 100644
+--- a/lib/ClusterShell/Task.py
++++ b/lib/ClusterShell/Task.py
+@@ -254,7 +254,7 @@ class Task(object):
+ self._cond.acquire()
+ try:
+ self.suspend_count = min(self.suspend_count, 0)
+- self._cond.notifyAll()
++ self._cond.notify_all()
+ finally:
+ self._cond.release()
+
+@@ -347,7 +347,7 @@ class Task(object):
+ def _is_task_self(self):
+ """Private method used by the library to check if the task is
+ task_self(), but do not create any task_self() instance."""
+- return self.thread == threading.currentThread()
++ return self.thread == threading.current_thread()
+
+ def default_excepthook(self, exc_type, exc_value, tb):
+ """Default excepthook for a newly Task. When an exception is
+@@ -765,7 +765,7 @@ class Task(object):
+
+ def _resume(self):
+ """Resume task - called from self thread."""
+- assert self.thread == threading.currentThread()
++ assert self.thread == threading.current_thread()
+ try:
+ try:
+ self._reset()
+@@ -780,7 +780,7 @@ class Task(object):
+ # task becomes joinable
+ self._join_cond.acquire()
+ self._suspend_cond.atomic_inc()
+- self._join_cond.notifyAll()
++ self._join_cond.notify_all()
+ self._join_cond.release()
+
+ def resume(self, timeout=None):
+@@ -954,14 +954,14 @@ class Task(object):
+ # termination (late join()s)
+ # must be called after _terminated is set to True
+ self._join_cond.acquire()
+- self._join_cond.notifyAll()
++ self._join_cond.notify_all()
+ self._join_cond.release()
+
+ # destroy task if needed
+ if kill:
+ Task._task_lock.acquire()
+ try:
+- del Task._tasks[threading.currentThread()]
++ del Task._tasks[threading.current_thread()]
+ finally:
+ Task._task_lock.release()
+
+@@ -1376,7 +1376,7 @@ def task_self(defaults=None):
+ provided as a convenience is available in the top-level ClusterShell.Task
+ package namespace.
+ """
+- return Task(thread=threading.currentThread(), defaults=defaults)
++ return Task(thread=threading.current_thread(), defaults=defaults)
+
+ def task_wait():
+ """
+@@ -1385,7 +1385,7 @@ def task_wait():
+ convenience and is available in the top-level ClusterShell.Task package
+ namespace.
+ """
+- Task.wait(threading.currentThread())
++ Task.wait(threading.current_thread())
+
+ def task_terminate():
+ """
+diff --git a/tests/TaskPortTest.py b/tests/TaskPortTest.py
+index 697f144..4014a89 100644
+--- a/tests/TaskPortTest.py
++++ b/tests/TaskPortTest.py
+@@ -28,7 +28,7 @@ class TaskPortTest(unittest.TestCase):
+ def ev_msg(self, port, msg):
+ # receive msg
+ assert msg == "toto"
+- assert port.task.thread == threading.currentThread()
++ assert port.task.thread == threading.current_thread()
+ TaskPortTest.got_msg = True
+ port.task.abort()
+
+--
+2.35.1
+