Closed db3l closed 22 years ago
Applied.
This is an enhancement to a prior patch (100941) originally supplied to add exit code processing to the win32pipe-based routines included in posixmodule.c. Based on the need for the higher order (os.popen# where # >=2) functions to close handles in different orders, and on discussion in c.l.py, this patch removes the risk of deadlock waiting for the child previously present in certain cases. It adds tracking of all file handles returned from an os.popen* call and only waits for the child process, returning the exit code, on the closure of the final file handle to that child. It also touches the w9xpopen.c file in order to properly bubble up exit codes under Windows 95/98 to permit these changes to work on those platforms as well. The patch is rooted in the dist/src directory.
Logged In: YES user_id=14198
My last comment indicated I check the fix in, so cleaning up by marking "Fixed"
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields: ```python assignee = 'https://github.com/mhammond' closed_at =
created_at =
labels = ['interpreter-core']
title = 'os.popen#.close() exit code under Windows enhancement'
updated_at =
user = 'https://github.com/db3l'
```
bugs.python.org fields:
```python
activity =
actor = 'mhammond'
assignee = 'mhammond'
closed = True
closed_date = None
closer = None
components = ['Interpreter Core']
creation =
creator = 'db3l'
dependencies = []
files = ['2670']
hgrepos = []
issue_num = 401032
keywords = ['patch']
message_count = 4.0
messages = ['33629', '33630', '33631', '33632']
nosy_count = 2.0
nosy_names = ['mhammond', 'db3l']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = None
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue401032'
versions = []
```