From: Simon Zhang Date: Thu, 6 Aug 2020 21:20:47 +0000 (+0800) Subject: vcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS action X-Git-Tag: v21.01-rc0~129 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=53ec96777c32d610c7bc2d387d2c098749d49a18;p=vpp.git vcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS action Type: fix Signed-off-by: Simon Zhang Change-Id: If4c700b59b8936a43d6a73ed75cc6fdaf6cf141d --- diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index fd9136aa9fc..f1478f890c9 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -3081,8 +3081,10 @@ vppcom_session_attr (uint32_t session_handle, uint32_t op, case VPPCOM_ATTR_GET_FLAGS: if (PREDICT_TRUE (buffer && buflen && (*buflen >= sizeof (*flags)))) { - *flags = O_RDWR | (VCL_SESS_ATTR_TEST (session->attr, - VCL_SESS_ATTR_NONBLOCK)); + *flags = + O_RDWR | + (VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_NONBLOCK) ? + O_NONBLOCK : 0); *buflen = sizeof (*flags); VDBG (2, "VPPCOM_ATTR_GET_FLAGS: sh %u, flags = 0x%08x, " "is_nonblocking = %u", session_handle, *flags,