Skip to content

Commit 72d62e2

Browse files
committed
Add patch for py4j
1 parent c97185e commit 72d62e2

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[[rules]]
2+
patch = 'py4j.patch'
3+
subdir = 'src'
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
diff --git a/py4j/clientserver.py b/py4j/clientserver.py
2+
index ec3078e..dd4cf8c 100644
3+
--- a/py4j/clientserver.py
4+
+++ b/py4j/clientserver.py
5+
@@ -196,6 +196,19 @@ class PythonParameters(CallbackServerParameters):
6+
self.auto_gc = auto_gc
7+
8+
9+
+class CleanerDummy:
10+
+ pass
11+
+
12+
+
13+
+def cleaner_callback(conn_ref, deque):
14+
+ conn = conn_ref()
15+
+ if conn is not None:
16+
+ try:
17+
+ deque.remove(conn)
18+
+ except ValueError:
19+
+ pass
20+
+
21+
+
22+
class JavaClient(GatewayClient):
23+
"""Responsible for managing requests from Python to Java.
24+
25+
@@ -245,8 +258,9 @@ class JavaClient(GatewayClient):
26+
current thread.
27+
"""
28+
conn = weakref.ref(connection)
29+
- self.thread_connection._cleaner = (
30+
- ThreadLocalConnectionFinalizer(conn, self.deque))
31+
+ cleaner = CleanerDummy()
32+
+ weakref.finalize(cleaner, cleaner_callback, conn, self.deque)
33+
+ self.thread_connection._cleaner = cleaner
34+
self.thread_connection.connection = conn
35+
36+
def shutdown_gateway(self):

0 commit comments

Comments
 (0)