Message300862
When debugging our project I find something interesting. In PyOS_Readline it releases the GIL and delegate its job to PyOS_ReadlineFunctionPointer, which could be call_readline or PyOS_StdioReadline(I don't find where vms__StdioReadline is defined). But in the two functions, they use some C APIs like PyMem_Malloc/MALLOC, PyErr_SetString which need guarded by GIL. I don't understand why not doing find-grained lock control in call_readline or PyOS_StdioReadline since the code is ancient. :-(
I find this because our project makes test_cmd_line fail with `echo "Timer\n" | python -i -m timeit -n 1`. |
|
Date |
User |
Action |
Args |
2017-08-26 04:51:13 | xiang.zhang | set | recipients:
+ xiang.zhang |
2017-08-26 04:51:13 | xiang.zhang | set | messageid: <1503723073.13.0.645165249007.issue31282@psf.upfronthosting.co.za> |
2017-08-26 04:51:13 | xiang.zhang | link | issue31282 messages |
2017-08-26 04:51:12 | xiang.zhang | create | |
|