8000 Fix thread pool never closed on exit. See https://github.com/swagger-… · fspv/python-leetcode@e9e93d8 · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit e9e93d8

Browse files
committed
Fix thread pool never closed on exit. See swagger-api/swagger-codegen#9991
1 parent b7e7d56 commit e9e93d8

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

build.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ _JAVA_OPTIONS="--add-opens=java.base/java.util=ALL-UNNAMED" java -jar $tmp_dir/s
1616
rm -rf $tmp_dir
1717

1818
patch -p1 < fix_cookies.patch
19+
patch -p1 < fix_thread_pool.patch
1920
patch -p1 < fix_gitignore.patch

fix_thread_pool.patch

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
diff --git a/leetcode/api_client.py b/leetcode/api_client.py
2+
index 8b27247..8092ae5 100644
3+
--- a/leetcode/api_client.py
4+
+++ b/leetcode/api_client.py
5+
@@ -10,6 +10,7 @@
6+
"""
7+
from __future__ import absolute_import
8+
9+
+import atexit
10+
import datetime
11+
import json
12+
import mimetypes
13+
@@ -66,6 +67,7 @@ class ApiClient(object):
14+
self.configuration = configuration
15+
16+
self.pool = ThreadPool()
17+
+ atexit.register(self._close_pool)
18+
self.rest_client = rest.RESTClientObject(configuration)
19+
self.default_headers = {}
20+
if header_name is not None:
21+
@@ -74,7 +76,7 @@ class ApiClient(object):
22+
# Set default User-Agent.
23+
self.user_agent = 'Swagger-Codegen/1.0.0/python'
24+
25+
- def __del__(self):
26+
+ def _close_pool(self):
27+
self.pool.close()
28+
self.pool.join()
29+

leetcode/api_client.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"""
1111
from __future__ import absolute_import
1212

13+
import atexit
1314
import datetime
1415
import json
1516
import mimetypes
@@ -66,6 +67,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None,
6667
self.configuration = configuration
6768

6869
self.pool = ThreadPool()
70+
atexit.register(self._close_pool)
6971
self.rest_client = rest.RESTClientObject(configuration)
7072
self.default_headers = {}
7173
if header_name is not None:
@@ -74,7 +76,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None,
7476
# Set default User-Agent.
7577
self.user_agent = 'Swagger-Codegen/1.0.0/python'
7678

77-
def __del__(self):
79+
def _close_pool(self):
7880
self.pool.close()
7981
self.pool.join()
8082

0 commit comments

Comments
 (0)
0