mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
This reverts commit e38d12ed34
.
This commit is contained in:
parent
e38d12ed34
commit
db564238db
5 changed files with 1 additions and 75 deletions
24
Lib/_pyio.py
24
Lib/_pyio.py
|
@ -1185,7 +1185,6 @@ class BufferedWriter(_BufferedIOMixin):
|
|||
self.buffer_size = buffer_size
|
||||
self._write_buf = bytearray()
|
||||
self._write_lock = Lock()
|
||||
_register_writer(self)
|
||||
|
||||
def writable(self):
|
||||
return self.raw.writable()
|
||||
|
@ -2575,26 +2574,3 @@ class StringIO(TextIOWrapper):
|
|||
def detach(self):
|
||||
# This doesn't make sense on StringIO.
|
||||
self._unsupported("detach")
|
||||
|
||||
|
||||
# ____________________________________________________________
|
||||
|
||||
import atexit, weakref
|
||||
|
||||
_all_writers = weakref.WeakSet()
|
||||
|
||||
def _register_writer(w):
|
||||
# keep weak-ref to buffered writer
|
||||
_all_writers.add(w)
|
||||
|
||||
def _flush_all_writers():
|
||||
# Ensure all buffered writers are flushed before proceeding with
|
||||
# normal shutdown. Otherwise, if the underlying file objects get
|
||||
# finalized before the buffered writer wrapping it then any buffered
|
||||
# data will be lost.
|
||||
for w in _all_writers:
|
||||
try:
|
||||
w.flush()
|
||||
except:
|
||||
pass
|
||||
atexit.register(_flush_all_writers)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue