You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Given: - thread A asleep in Latch._get_sleep() - thread B calling Latch.put() Previously, - B takes lock, - B wakes socket by dropping GIL and writing to it - A wakes from poll(), acquires GIL only to find Latch._lock is held - A drops GIL, sleeps on futex() for _lock - B wakes, acquires GIL, releases _lock - A wakes from futex(), acquires lock Now, - B takes lock, updates state, releases lock - B wakes socket by droppping GIL and writing to it - A wakes from poll(), acquires GIL and _lock - Everyone lives happily ever after. |
7 years ago | |
|---|---|---|
| .ci | 7 years ago | |
| .github | 7 years ago | |
| ansible_mitogen | 7 years ago | |
| docs | 7 years ago | |
| examples | 7 years ago | |
| mitogen | 7 years ago | |
| scripts | 7 years ago | |
| tests | 7 years ago | |
| .gitignore | 7 years ago | |
| .lgtm.yml | 8 years ago | |
| .travis.yml | 7 years ago | |
| LICENSE | 7 years ago | |
| MANIFEST.in | 7 years ago | |
| README.md | 7 years ago | |
| dev_requirements.txt | 7 years ago | |
| preamble_size.py | 7 years ago | |
| run_tests | 7 years ago | |
| setup.cfg | 8 years ago | |
| setup.py | 7 years ago | |
| tox.ini | 7 years ago | |
