bpo-18748: Fix _pyio.IOBase destructor (closed case) by vstinner · Pull Request #13952 · python/cpython

@vstinner

_pyio.IOBase destructor now does nothing if getting the closed
attribute fails to better mimick _io.IOBase finalizer.

@vstinner

@vstinner vstinner deleted the pyio_iobase_del_closed branch

June 11, 2019 00:49

@vstinner vstinner restored the pyio_iobase_del_closed branch

June 11, 2019 00:52

vstinner added a commit that referenced this pull request

Jun 12, 2019
* bpo-18748: Fix _pyio.IOBase destructor (closed case) (GH-13952)

_pyio.IOBase destructor now does nothing if getting the closed
attribute fails to better mimick _io.IOBase finalizer.

(cherry picked from commit 4f6f7c5)

* bpo-37223: test_io: silence destructor errors (GH-13954)

Implement also MockNonBlockWriterIO.seek() method.

(cherry picked from commit b589cef)

* bpo-37223, test_io: silence last 'Exception ignored in:' (GH-14029)

Use catch_unraisable_exception() to ignore 'Exception ignored in:'
error when the internal BufferedWriter of the BufferedRWPair is
destroyed. The C implementation doesn't give access to the
internal BufferedWriter, so just ignore the warning instead.

(cherry picked from commit 913fa1c)

@vstinner vstinner deleted the pyio_iobase_del_closed branch

July 15, 2019 11:30

DinoV pushed a commit to DinoV/cpython that referenced this pull request

Jan 14, 2020
_pyio.IOBase destructor now does nothing if getting the closed
attribute fails to better mimick _io.IOBase finalizer.

@ionelmc ionelmc mannequin mentioned this pull request

Apr 10, 2022