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