Message80890
I believe your new patch suffers the same problem. Consider the blocks
like:
+ /* turn off crt asserts on windows since we have no control over fd */
+ Py_BEGIN_CRT_ERROR_HANDLING
Py_BEGIN_ALLOW_THREADS
size = write(fd, pbuf.buf, (size_t)pbuf.len);
Py_END_ALLOW_THREADS
+ Py_END_CRT_ERROR_HANDLING
And consider Martin's comments in msg80191: Here you have T1 setting a
global mode, then releasing the GIL. Other threads are then free to run
and may do the same and depending on the order the threads do things,
the global setting may not end up where it started. |
|
Date |
User |
Action |
Args |
2009-01-31 23:39:13 | mhammond | set | recipients:
+ mhammond, loewis, amaury.forgeotdarc, kristjan.jonsson |
2009-01-31 23:39:12 | mhammond | set | messageid: <1233445152.98.0.929881174119.issue4804@psf.upfronthosting.co.za> |
2009-01-31 23:39:11 | mhammond | link | issue4804 messages |
2009-01-31 23:39:10 | mhammond | create | |
|