Răsfoiți Sursa

avoid session close twice

wangweimin 5 ani în urmă
părinte
comite
b631605538
2 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  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