VCL: close-on-empty state transition refactoring.

- Refactor session disconnect/close state
  transitions. Only remove session state
  when app calls close().  Add HUP/reset
  feedback by returning ECONNRESET.
- Update debug messages.
- Use VCL_LOCK_AND_GET_SESSION macro more
  extensively

Change-Id: I23d372834b901a6726e6d6c1061df73ad967882f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
This commit is contained in:
Dave Wallace
2017-11-21 03:45:09 -05:00
committed by Florin Coras
parent 6a9b68b268
commit 4878cbe276
3 changed files with 770 additions and 667 deletions

File diff suppressed because it is too large Load Diff

View File

@ -65,6 +65,7 @@ typedef enum
VPPCOM_EBADFD = -EBADFD,
VPPCOM_EAFNOSUPPORT = -EAFNOSUPPORT,
VPPCOM_ECONNRESET = -ECONNRESET,
VPPCOM_ENOTCONN = -ENOTCONN,
VPPCOM_ECONNREFUSED = -ECONNREFUSED,
VPPCOM_ETIMEDOUT = -ETIMEDOUT,
} vppcom_error_t;
@ -123,6 +124,10 @@ vppcom_retval_str (int retval)
st = "VPPCOM_ECONNRESET";
break;
case VPPCOM_ENOTCONN:
st = "VPPCOM_ENOTCONN";
break;
case VPPCOM_ECONNREFUSED:
st = "VPPCOM_ECONNREFUSED";
break;

View File

@ -485,7 +485,7 @@ set_pre_cmd() {
pre_cmd="$gdb_in_emacs "
elif [ $gdb -eq 1 ] ; then
write_gdb_cmdfile $tmp_gdb_cmdfile $gdb_cmdfile $emacs $3
pre_cmd="gdb -x $tmp_gdb_cmdfile -i=mi --args "
pre_cmd="gdb -x $tmp_gdb_cmdfile --args "
elif [ -z $3 ] ; then
unset -v pre_cmd
else