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.
mitogen/mitogen
David Wilson d6faff06c1 core: wake Waker outside of lock.
Given:

- Broker asleep in poll()
- thread B calling Latch.put()

Previously,

- B takes lock,
- B wakes socket by dropping GIL and writing to it
- Broker wakes from poll(), acquires GIL only to find Latch._lock is held
- Broker drops GIL, sleeps on futex() for _lock
- B wakes, acquires GIL, releases _lock
- Broker wakes from futex(), acquires lock

Now,

- B takes lock, updates state, releases lock
- B wakes socket by droppping GIL and writing to it
- Broker wakes from poll(), acquires GIL and _lock
- Everyone lives happily ever after.
7 years ago
..
compat issue #508: master: minify all Mitogen/ansible_mitogen sources. 7 years ago
__init__.py [stream-refactor] fix flake8 errors 7 years ago
buildah.py [stream-refactor] port mitogen.buildah, added to master since work began 7 years ago
core.py core: wake Waker outside of lock. 7 years ago
debug.py [stream-refactor] fix flake8 errors 7 years ago
doas.py [stream-refactor] rename Process attrs, fix up more create_child_test 7 years ago
docker.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
fakessh.py [stream-refactor] rename Process attrs, fix up more create_child_test 7 years ago
fork.py [stream-refactor] 3.x socket.send() requires bytes 7 years ago
jail.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
kubectl.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
lxc.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
lxd.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
master.py Normalize docstring formatting 7 years ago
minify.py Normalize docstring formatting 7 years ago
os_fork.py os_fork: more doc tweaks 7 years ago
parent.py ansible: abstract worker process model. 7 years ago
profiler.py Normalize docstring formatting 7 years ago
select.py issue #535: docs: fix up Select doc 7 years ago
service.py ansible: abstract worker process model. 7 years ago
setns.py Refactor Stream, introduce quasi-asynchronous connect, much more 7 years ago
ssh.py [stream-refactor] fix 2.4 syntax error. 7 years ago
su.py [stream-refactor] fix su_test failure (issue #363) 7 years ago
sudo.py [stream-refactor] merge stdout+stderr when reporting EofError 7 years ago
unix.py [stream-refactor] replace cutpaste with Stream.accept() in mitogen.unix 7 years ago
utils.py Update copyright year everywhere. 7 years ago