This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2009年11月08日 00:00 by pitrou, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| rlock_leak.patch | pitrou, 2009年11月08日 00:00 | |||
| rlock_leak2.patch | pitrou, 2009年11月09日 11:59 | |||
| Messages (3) | |||
|---|---|---|---|
| msg95029 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2009年11月08日 00:00 | |
When you use an RLock from a thread which wasn't created through the high-level `threading` API (but, for example, using thread.start_new_thread()), the RLock creates a DummyThread object by calling current_thread(), and that DummyThread is immortal (as well as its attributes etc.). This implementation wart can easily lead to reference leaks for unsuspecting users. One simple solution is not to call current_thread() in RLock, but use get_ident() instead. Patch attached. |
|||
| msg95074 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2009年11月09日 11:59 | |
An updated patch with test. |
|||
| msg95089 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2009年11月09日 16:54 | |
Committed in r76172-r76175. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:54 | admin | set | github: 51531 |
| 2009年11月09日 16:54:48 | pitrou | set | status: open -> closed resolution: fixed messages: + msg95089 stage: patch review -> resolved |
| 2009年11月09日 11:59:17 | pitrou | set | files:
+ rlock_leak2.patch messages: + msg95074 |
| 2009年11月08日 00:00:39 | pitrou | create | |