[issue21061] Is contextlib.redirect_stdout reentrant or not?

Timothy Pederick report at bugs.python.org
Tue Mar 25 10:36:06 CET 2014


New submission from Timothy Pederick:

The docs are contradictory on whether or not contextlib.redirect_stdout is reentrant, or reusable-but-not-reentrant. This would seem to be an oversight from issue19403, which probably should have changed "reusable but not reentrant" to "reentrant".

Present in both current and upcoming docs:
  http://docs.python.org/3/library/contextlib.html
  http://docs.python.org/3.5/library/contextlib.html

contextlib.redirect_stdout(new_target)
  ...
  This context manager is reusable but not reentrant.

29.6.3.1. Reentrant context managers
  ...
  threading.RLock is an example of a reentrant context manager, as are suppress() and redirect_stdout().
  ...
  Note also that being reentrant is not the same thing as being thread safe. redirect_stdout(), for example...

----------
assignee: docs at python
components: Documentation
messages: 214801
nosy: docs at python, perey
priority: normal
severity: normal
status: open
title: Is contextlib.redirect_stdout reentrant or not?
versions: Python 3.4, Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21061>
_______________________________________


More information about the Python-bugs-list mailing list