David Wilson
03fcf057dd
tests: just call log_to_file() from testlib
...
Now we can run test.sh with MITOGEN_LOG_LEVEL=debug and things just
work.
7 years ago
David Wilson
761cd9eaf8
tests: import tty_create_child_test.py.
7 years ago
David Wilson
7b12f84366
core: support CallError(str) for service.py.
7 years ago
David Wilson
c33bc22f21
docs: fix reading time tracking :(
7 years ago
David Wilson
45b81009f3
parent: call TIOCSCTTY on FreeBSD. Closes #171
7 years ago
David Wilson
cd1683b924
ansible: split environment editing into a separate class.
7 years ago
David Wilson
fccca54068
tests: ensure OpenSSL is initialized prior to test.
7 years ago
David Wilson
e28e627f55
ssh: Disable GlobalKnownHostsFile with host_key_checking is off
7 years ago
David Wilson
4903052f42
fork: reseed Python/SSL PRNGs
...
Mac's SSL seems to have a pthread_atfork handler or similar that does
this for us, no clue if Linux is the same.
7 years ago
David Wilson
7f4368db87
docs: pad out signal handlers note
7 years ago
David Wilson
c34f8dbef3
core: Fix Receiver.__iter__ loop termination.
...
Since the Message refactoring from a few weeks back, __iter__ has had
nothing to throw ChannelError if the remote sent _DEAD.
7 years ago
David Wilson
671f753207
core: cache result of unpickling message.
7 years ago
David Wilson
5b87d10ae6
core: clean up no longer useful Latch.__repr__
...
Those fields are always None since the recent fork cleanup work.
7 years ago
David Wilson
d4bc44468b
core: fix crash in fork stress test
...
14:50:04 E mitogen: mitogen.fork.Stream('fork.7431') crashed
Traceback (most recent call last):
File "/home/dmw/src/mitogen/mitogen/core.py", line 1287, in _call
func(self)
File "/home/dmw/src/mitogen/mitogen/core.py", line 758, in on_receive
return self.on_disconnect(broker)
File "/home/dmw/src/mitogen/mitogen/parent.py", line 370, in on_disconnect
super(Stream, self).on_disconnect(broker)
File "/home/dmw/src/mitogen/mitogen/core.py", line 721, in on_disconnect
fire(self, 'disconnect')
File "/home/dmw/src/mitogen/mitogen/core.py", line 162, in fire
return [func(*args, **kwargs) for func in signals.get(name, ())]
File "/home/dmw/src/mitogen/mitogen/core.py", line 1160, in <lambda>
listen(stream, 'disconnect', lambda: self.on_stream_disconnect(stream))
File "/home/dmw/src/mitogen/mitogen/core.py", line 1142, in on_stream_disconnect
for context in self._context_by_id.itervalues():
RuntimeError: dictionary changed size during iteration
7 years ago
David Wilson
95d50adb14
unix: simplify return statements.
7 years ago
David Wilson
d68833757b
docs: slightly bikeshed last testimonial
7 years ago
David Wilson
adf527440f
issue #155 : parent: split out make_call_msg().
7 years ago
dw
d23a6174a2
Merge pull request #167 from danielcompton/patch-1
...
Add testimonial from Clojars
7 years ago
David Wilson
0dbb63ae3d
docs: typo
7 years ago
David Wilson
b254373cd7
docs: add local task serialization risk
7 years ago
David Wilson
7698f86a9f
Whups, don't always enable profiling in mitogen.main()
7 years ago
David Wilson
52d980ad58
issue #155 : fork: nop out get_boot_command, it's become quite expensive
...
-16% reduction in fork cost.
7 years ago
David Wilson
e7c98e3bda
Have mitogen.main(profiling=True) effect the master process too
7 years ago
David Wilson
a868498469
Replace assertions with fixed checks; closes #157 .
7 years ago
David Wilson
4dc001f496
parent: fire disconnect upon receiving DEL_ROUTE for context
...
This lets context.shutdown(wait=True) succeed in the master or any
parent.
7 years ago
David Wilson
862ec21160
core: allow shutdown triggered by any parent, not just immediate parent
7 years ago
David Wilson
0f08783330
core: fix NameError on disconnect
7 years ago
David Wilson
198bec3320
issue #168 : ansible: Mitogen must also ignore the extra arguments.
7 years ago
David Wilson
26051caf4c
ansible: Pass through connection loader kwargs; closes #168
7 years ago
David Wilson
749eddac71
ansible: fix flake8 errors in helpers.py.
7 years ago
Daniel Compton
871b853b59
Add testimonial from Clojars
7 years ago
David Wilson
2813d1a968
docs: update
7 years ago
David Wilson
3e384db7c2
service: add basic security policy types.
7 years ago
David Wilson
2ea65420d0
issue #155 : fork.py v2, now with full resource cleanup
7 years ago
David Wilson
872181bebd
issue #155 : core: implement Side._on_fork()
...
Central mechanism for deleting all non-Latch file descriptors belonging
to the parent process during fork().
7 years ago
David Wilson
80642ed9ec
issue #155 : core: remove one duplicate set_cloexec().
7 years ago
David Wilson
cb71ce94c4
issue #155 : core: be more careful reconfiguring stdio
...
Many dragons present!
7 years ago
David Wilson
443c94eb39
issue #155 : core: prevent set_cloexec() use on standard handles
7 years ago
David Wilson
41ae6623c6
issue #155 : parent: generic name generation
...
Let us override a class attribute to specify prefix from fork.py, rather
than reimplement the same logic.
7 years ago
David Wilson
22cc1a3689
issue #155 : core: refactor Latch to avoid TLS use
...
TLS destructors are not called after fork, therefore we must explicitly
track a global list of free file descriptors, and arrange for that list
to explicitly be destroyed from fork.py.
7 years ago
David Wilson
2cf9edc895
issue #155 : core: ensure reused Importer gets new Context reference.
...
More hacky layering violations.. force Importer's _context attribute to
our new parent.
7 years ago
David Wilson
cd5b37ea5b
core: Use Side.read() rather than bare os.read().
7 years ago
David Wilson
1155de85af
issue #155 : parent: propagate context name too.
...
This allows context_by_id() in the master to succeed in returning a
Context with a .name matching the context's name, needed for correct
logging.
Previously this would have logged the empty string, because the master
had no mechanism to know the name of a context created by a child.
7 years ago
David Wilson
5579ac936b
issue #155 : docs: more fork() liability warnings
7 years ago
David Wilson
f457f54758
docs: fix formatting
7 years ago
David Wilson
d370290687
docs: one more warning
7 years ago
David Wilson
03e08e25fd
docs: put huge liability notice in fork() docs.
7 years ago
David Wilson
19d17982f3
core: Split blocking and non-blocking Latch.get()
...
Mostly just to avoid embarrassing function size, but it may come in
useful for testing later.
7 years ago
David Wilson
cba3347556
issue #155 : move connection factories to parent.py.
7 years ago
David Wilson
972f77c6b5
parent: have close_nonstandard_fds() ask OS for FD_MAX
7 years ago