瀏覽代碼

avoid session close twice

wangweimin 5 年之前
父節點
當前提交
b631605538
共有 2 個文件被更改,包括 6 次插入2 次删除
  1. 3 1
      pywebio/session/coroutinebased.py
  2. 3 1
      pywebio/session/threadbased.py

+ 3 - 1
pywebio/session/coroutinebased.py

@@ -123,8 +123,10 @@ class CoroutineBasedSession(AbstractSession):
 
     def close(self):
         """关闭当前Session。由Backend调用"""
-        self._cleanup()
+        if self._closed:
+            return
         self._closed = True
+        self._cleanup()
         # todo clean
 
     def closed(self):

+ 3 - 1
pywebio/session/threadbased.py

@@ -158,8 +158,10 @@ class ThreadBasedSession(AbstractSession):
 
     def close(self):
         """关闭当前Session。由Backend调用"""
-        self._cleanup()
+        if self._closed:
+            return
         self._closed = True
+        self._cleanup()
 
     def closed(self):
         return self._closed