# sockerpair(2) are "connected" via /proc/net/unix though Older
# kernels report "unconnected".
#
+ # Newer kernels report the states of unix dgram sockets already
+ # connect(2)'ed are "connected", too.
+ #
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=83301b5367a98c17ec0d76c7bc0ccdc3c7e7ad6d
#
# This rewriting adjusts the output of lsfd running on older kernels
. "$TS_TOPDIR"/functions.sh
ts_init "$*"
+. "$TS_SELF/lsfd-functions.bash"
ts_check_test_command "$TS_CMD_LSFD"
ts_check_test_command "$TS_HELPER_MKFDS"
FDC=4
EXPR='(TYPE == "UNIX") and ((FD == 3) or (FD == 4))'
+make_state_connected()
+{
+ # The first one is for rewriting NAME column.
+ # The second one is for rewriting STATE column.
+ lsfd_make_state_connected | sed -e 's/unconnected/ connected/'
+}
+
{
coproc MKFDS { "$TS_HELPER_MKFDS" unix-dgram $FDS $FDC \
path=test_mkfds-unix-dgram ; }
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
-o ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH \
- -p "${PID}" -Q "${EXPR}"
- echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': $?
+ -p "${PID}" -Q "${EXPR}" | make_state_connected
+ echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
kill -CONT "${PID}"
fi
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
-o ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH \
- -p "${PID}" -Q "${EXPR}"
+ -p "${PID}" -Q "${EXPR}" | make_state_connected
echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': $?
kill -CONT "${PID}"