git: dmsg - Stabilization work
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Mar 8 21:02:30 PDT 2015
commit 0a9eefca514ba2a75efead673e50071f516ed2d1
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Mar 8 20:49:31 2015 -0700
dmsg - Stabilization work
* Refactor the circuit failure handling code. When a connection is lost
circuits running through that connection and all sub-circuits/states
(recursively) are aborted. This will propagate through the graph and
there are plenty of edge cases where a failure may be propagating in
one direction and a request in the other direction.
The library is responsible for providing missing transaction closures
when circuits and states fail.
* Add code to handle circuit failure races against newly created messages.
The STATE_DYING flag is now inherited by the newly created message from
its parent.
* The state structure on receive is now updated before the callback is
made so it can be atomic with the lock, instead of after.
* Lots of debugging added and some cleanup.
Summary of changes:
lib/libdmsg/debug.c | 7 +-
lib/libdmsg/dmsg.h | 10 +-
lib/libdmsg/msg.c | 673 +++++++++++++++++++++++++++++++-------------------
lib/libdmsg/msg_lnk.c | 13 +-
lib/libdmsg/subs.c | 6 +-
sys/kern/kern_dmsg.c | 431 ++++++++++++++++++++------------
sys/sys/dmsg.h | 16 +-
7 files changed, 732 insertions(+), 424 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0a9eefca514ba2a75efead673e50071f516ed2d1
--
DragonFly BSD source repository
More information about the Commits
mailing list