dmsg - Stabilization work
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Mar 2015 03:49:31 +0000 (20:49 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Mar 2015 03:49:31 +0000 (20:49 -0700)
commit0a9eefca514ba2a75efead673e50071f516ed2d1
tree2db1081f93a896241c8418d901eb5527efd8149a
parent55315bf3c0a9f0c3073304fd77407941e98dc82b
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.
lib/libdmsg/debug.c
lib/libdmsg/dmsg.h
lib/libdmsg/msg.c
lib/libdmsg/msg_lnk.c
lib/libdmsg/subs.c
sys/kern/kern_dmsg.c
sys/sys/dmsg.h