Issue7023
Created on 2009-09-30 09:36 by zengke, last changed 2009-09-30 14:23 by benjamin.peterson.
| File name |
Uploaded |
Description |
Edit |
Remove |
|
marshal_threads.patch
|
zengke,
2009-09-30 09:36
|
A patch that would help. |
|
|
|
msg93354 - (view) |
Author: zengke (zengke) |
Date: 2009-09-30 09:36 |
|
If marshal.dumps() is handling a large data, It keeps acquiring the GIL
and may take several seconds, Other threads therefor are blocked.
marshal.loads should also be friendly to other threads.
|
|
msg93362 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2009-09-30 12:46 |
|
The patch is wrong; the function allows other threads to run while it
calls _PyString_Resize(), this will lead to crashes.
|
|
msg93367 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2009-09-30 14:23 |
|
In fact, almost no place in marhsal is thread safe, so releasing the GIL
anywhere is not safe.
|
|
| Date |
User |
Action |
Args |
| 2009-09-30 14:23:00 | benjamin.peterson | set | status: open -> closed
nosy:
+ benjamin.peterson messages:
+ msg93367
resolution: rejected |
| 2009-09-30 12:46:56 | amaury.forgeotdarc | set | nosy:
+ amaury.forgeotdarc messages:
+ msg93362
|
| 2009-09-30 09:39:42 | zengke | set | versions:
+ Python 2.6, Python 2.5, Python 2.4 |
| 2009-09-30 09:36:52 | zengke | create | |
|