Handle EINTR retry in os.write() (PEP 475)#7482
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughUpdated the Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add EINTR retry loop to os.write(), matching the existing pattern in os.read() and os.readinto(). Remove the expectedFailure marker from test_write in _test_eintr.py.
Add fast paths for dict and dict_keys types in extract_elements_with, matching _list_extend() in CPython Objects/listobject.c. Each branch takes an atomic snapshot under a single read lock, preventing race conditions from concurrent dict mutation without the GIL. Remove expectedFailure from test_thread_safety.
* Handle EINTR retry in os.write() (PEP 475) Add EINTR retry loop to os.write(), matching the existing pattern in os.read() and os.readinto(). Remove the expectedFailure marker from test_write in _test_eintr.py. * Add atomic snapshot for dict/dict_keys in extract_elements Add fast paths for dict and dict_keys types in extract_elements_with, matching _list_extend() in CPython Objects/listobject.c. Each branch takes an atomic snapshot under a single read lock, preventing race conditions from concurrent dict mutation without the GIL. Remove expectedFailure from test_thread_safety.
Add EINTR retry loop to os.write(), matching the existing pattern in os.read() and os.readinto(). Remove the expectedFailure marker from test_write in _test_eintr.py.
Summary by CodeRabbit
Bug Fixes
Refactor