]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd) avoid race conditions (part 1)
authorMasatake YAMATO <yamato@redhat.com>
Thu, 31 Aug 2023 18:20:20 +0000 (03:20 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Sun, 3 Sep 2023 21:16:25 +0000 (06:16 +0900)
For terminating test_mkfds process, the test cases
used SIGCONT. test_mkfds used pselect for waiting for the signal.
After receiving the signal test_mkfds exited.

There is a race condition in this logic. If a test case sends SIGCONT
to test_mkfds process before the process calls pselect, the signal
may be lost. As the result, test_mkfds keeps waiting forever in pselect.

This change replaces the code sending SIGCONT with writing to the pipe
connecting to the stdin of test_mkfds. test_mkfds also monitors
its stdin in the pselect call. Unlike the signal, the written bytes to
the pipe are queued.

This change doesn't touch tests/ts/lsfd/option-inet and option-summary
test cases. They don't use coproc. So fixing the race condition in the test
cases can be much complicated. I will make a dedicated pull request (part 2)
for them.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
40 files changed:
tests/ts/lsfd/column-ainodeclass
tests/ts/lsfd/column-deleted
tests/ts/lsfd/column-name
tests/ts/lsfd/column-source-with-root
tests/ts/lsfd/column-type
tests/ts/lsfd/column-xmode
tests/ts/lsfd/filter-floating-point-nums
tests/ts/lsfd/mkfds-bpf-prog
tests/ts/lsfd/mkfds-cdev-tun
tests/ts/lsfd/mkfds-directory
tests/ts/lsfd/mkfds-eventfd
tests/ts/lsfd/mkfds-eventpoll
tests/ts/lsfd/mkfds-inotify
tests/ts/lsfd/mkfds-mapped-packet-socket
tests/ts/lsfd/mkfds-mqueue
tests/ts/lsfd/mkfds-netlink-groups
tests/ts/lsfd/mkfds-netlink-protocol
tests/ts/lsfd/mkfds-netns
tests/ts/lsfd/mkfds-pidfd
tests/ts/lsfd/mkfds-ping
tests/ts/lsfd/mkfds-pipe-no-fork
tests/ts/lsfd/mkfds-raw
tests/ts/lsfd/mkfds-raw6
tests/ts/lsfd/mkfds-ro-block-device
tests/ts/lsfd/mkfds-ro-regular-file
tests/ts/lsfd/mkfds-rw-character-device
tests/ts/lsfd/mkfds-signalfd
tests/ts/lsfd/mkfds-socketpair
tests/ts/lsfd/mkfds-symlink
tests/ts/lsfd/mkfds-tcp
tests/ts/lsfd/mkfds-tcp6
tests/ts/lsfd/mkfds-timerfd
tests/ts/lsfd/mkfds-timerfd-alarm
tests/ts/lsfd/mkfds-udp
tests/ts/lsfd/mkfds-udp6
tests/ts/lsfd/mkfds-unix-dgram
tests/ts/lsfd/mkfds-unix-in-netns
tests/ts/lsfd/mkfds-unix-stream
tests/ts/lsfd/mkfds-unix-stream-requiring-sockdiag
tests/ts/lsfd/option-pid

index 6391c48165f9e246e31cd22df830ab986ac773ff..3a10026c214e68545fde16110ef18941ad2aea20 100755 (executable)
@@ -38,7 +38,7 @@ for C in pidfd inotify; do
            ${TS_CMD_LSFD} -n -o ASSOC,STTYPE,AINODECLASS -p "${PID}" -Q "${EXPR}"
            echo "$C"':ASSOC,STTYPE,AINODECLASS': $?
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
     } > "$TS_OUTPUT" 2>&1
index 7898029d46d099d5a317cadbc085e5b553831d45..128cd0e8a591dc89cd7110c2c4d07033617b2080 100755 (executable)
@@ -38,7 +38,7 @@ ts_init_subtest $C
        EXPR='(FD == '"$FD"')'
        ${TS_CMD_LSFD} -p "$PID" -n -o DELETED -Q "${EXPR}"
        echo "$C: DELETED: " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } >  "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -52,7 +52,7 @@ ts_init_subtest $C
        EXPR='(FD == '"$FD"')'
        ${TS_CMD_LSFD} -p "$PID" -n -o DELETED -Q "${EXPR}"
        echo "$C: DELETED: " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } >  "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
index 0cac74bdeab8469f59163febced4b2e7c734432c..a9d46879ad2b133a64b9ab2298dd2bc3c0dd8f4c 100755 (executable)
@@ -60,7 +60,7 @@ for C in ro-regular-file pidfd socketpair; do
            }
            echo "$C"':ASSOC,KNAME,NAME': ${PIPESTATUS[0]}
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
@@ -81,7 +81,7 @@ ts_init_subtest deleted-file
            sed -e 's#.*/\([^/]\+\)#\1#'
        echo "$C: DELETED,NAME: " ${PIPESTATUS[0]}
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
index 70a9714caaad4cc52482fd61151c7064973a1bb0..c00ee155c6bb66e9e178b5ca6b5b4abc7d4f91c3 100755 (executable)
@@ -35,7 +35,7 @@ ts_init_subtest SysVIPC-shmem
     if read -u ${MKFDS[0]} PID; then
        ${TS_CMD_LSFD} -p "$PID" -n -o ASSOC,SOURCE -Q "${EXPR}"
        echo 'ASSOC,SOURCE': $?
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > "$TS_OUTPUT" 2>&1
index cf6175efaa41c40193e2da7d06c50b3b658b1ec8..8ededd44f3a5743be692274d3ccb58dadc858b57 100755 (executable)
@@ -46,7 +46,7 @@ for C in ro-regular-file pidfd inotify socketpair; do
            ${TS_CMD_LSFD} -n -o ASSOC,STTYPE,TYPE -p "${PID}" -Q "${EXPR}"
            echo "$C"':ASSOC,STTYPE,TYPE': $?
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
     } > "$TS_OUTPUT" 2>&1
index 651f53277a9bdc282901f595f099e51e4b215f55..4de623ff009688db7feeafa4dfba50375dff348f 100755 (executable)
@@ -39,7 +39,7 @@ ts_init_subtest "MODE-r-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o MODE -p "${PID}" -Q "${EXPR}"
        echo "MODE(r-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -51,7 +51,7 @@ ts_init_subtest "XMODE-r-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
        echo "XMODE(r-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -64,7 +64,7 @@ ts_init_subtest "MODE-w-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o MODE -p "${PID}" -Q "${EXPR}"
        echo "MODE(w-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -76,7 +76,7 @@ ts_init_subtest "XMODE-w-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
        echo "XMODE(w-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -92,7 +92,7 @@ else
        if read -r -u "${MKFDS[0]}" PID; then
            "${TS_CMD_LSFD}" -n -o MODE -p "${PID}" -Q "${EXPR}"
            echo "MODE(x-bit): " $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
@@ -108,7 +108,7 @@ else
        if read -r -u "${MKFDS[0]}" PID; then
            "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
            echo "XMODE(x-bit): " $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
@@ -122,7 +122,7 @@ ts_init_subtest "XMODE-D-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
        echo "XMODE(D-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -135,7 +135,7 @@ for m in flock-sh posix-r- ofd-r-; do
        if read -r -u "${MKFDS[0]}" PID; then
            "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
            echo "XMODE(l-bit): " $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
@@ -150,7 +150,7 @@ touch "$f"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
        echo "XMODE(l-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
@@ -164,7 +164,7 @@ for m in flock-ex posix--w posix-rw  ofd--w ofd-rw lease-w; do
        if read -r -u "${MKFDS[0]}" PID; then
            "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
            echo "XMODE(L-bit): " $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
@@ -180,7 +180,7 @@ ts_init_subtest "XMODE-m-bit"
     if read -r -u "${MKFDS[0]}" PID; then
        "${TS_CMD_LSFD}" -n -o XMODE -p "${PID}" -Q "${EXPR}"
        echo "XMODE(m-bit): " $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 } > "$TS_OUTPUT" 2>&1
 wait "${MKFDS_PID}"
index 1dfcfc78e574b56f2286c3f6667e4fe51c97d650..05bf5d551d21e67a3ae98a08b28512556a41a4cb 100755 (executable)
@@ -78,7 +78,7 @@ EXPR=
        ${TS_CMD_LSFD} -n -o FD,TIMERFD.INTERVAL -p "$PID" -Q "$EXPR"
        echo "FD,TIMERFD.INTERVAL: $EXPR": $?
        
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     
     wait "${MKFDS_PID}"
index ba402cbe8430cd34704b9c24b0adf9bbe6f5d603..72a4aea20236f3fa6f5bdc31b2cc9cfa2429cdf8 100755 (executable)
@@ -36,7 +36,7 @@ FD=3
        "${TS_CMD_LSFD}" -r -n -oBPF-PROG.TYPE,BPF-PROG.TYPE.RAW -p "${PID}" -Q "(FD == $FD)"
        echo "BPF-PROG.TYPE,BPF-PROG.TYPE.RAW": $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index 25bf03efce25601cada2c25fc57febfdc84ce6de..7354509c4ddbf6997c996839860a01c2cdd6bdc2 100755 (executable)
@@ -57,7 +57,7 @@ IFNAME=
            echo "output TUN.IFACE: $output"
        fi
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index ef769c916b6b46f3ca26fb94822c64b28789f039..738cb86885ed07379d151789d92be152faf3ab37 100755 (executable)
@@ -101,7 +101,7 @@ esac
            echo 'stat reports:' "$(stat -c %h /)"
        fi
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 5fa58427e84235e62beb108cbe3a6e198a59489e..02c86a604a829cb31ef4e1de278ce6650488e7c5 100755 (executable)
@@ -96,7 +96,7 @@ ENDPOINTS=
            echo 'lsfd:' "$tmp"
        fi
 
-       kill -CONT ${PID0}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 0d0cc68ce0d7029ac447864e26fa79c1ee0935e2..230d6c480d0c344185c54e6dbe98a6db4fe724e9 100755 (executable)
@@ -38,7 +38,7 @@ FD2=7
        echo 'ASSOC,TYPE,NAME,EVENTPOLL.TFDS': $?
        ${TS_CMD_LSFD} -J -p "${PID}" -n -o ASSOC,TYPE,NAME,EVENTPOLL.TFDS -Q "${EXPR}"
        echo 'ASSOC,TYPE,NAME,EVENTPOLL.TFDS (JSON)': $?
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 6d29c7c99f5248cea26887fdd452afb6dbfd3b28..728c27de20ab8d6c87c3131f3f0b53c547bc6cf2 100755 (executable)
@@ -65,7 +65,7 @@ EOF
            echo "INOTIFY.INODES.RAW": "$INODES_RAW_JSON"
        fi
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index a1fb68f985cee6d287d2aa0d3735aab412c3097d..12c5ef6bc91834675b267e46ab2514e105e854ab 100755 (executable)
@@ -49,7 +49,7 @@ for SOCKTYPE in RAW DGRAM; do
        ${TS_CMD_LSFD} -p "$PID" -n -o NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL -Q "${EXPR}"
        echo 'NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL': $?
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
     ERR=$?
index 3023f1e005646aeb5497ad27665d74be2777b6c5..fac1a793f61212a7f1ee1073fb8f0003e70f102d 100755 (executable)
@@ -74,7 +74,7 @@ ENDPOINTS=
            echo 'lsfd:' "$tmp"
        fi
 
-       kill -CONT ${PID0}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 896b50cef57b2f41f97f3e074e9c37889d35cc37..b7646c228451d6254cfbd6ca08cd7d58475a3917 100755 (executable)
@@ -47,7 +47,7 @@ NETLINK_GROUPS=5
        else
            printf "LPORT: FAILED (PID: %d != NETLINK.LPORT: %d)\n" "${PID}" "${NETLINK_LPORT}"
        fi
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index c1a5ffc20d79479e428b43c9cd03bd76eb81e6ea..abf2eb2ca2389a605dccd3bd5f6dcdef4e1d444f 100755 (executable)
@@ -46,7 +46,7 @@ NETLINK_GROUPS=5
        else
            printf "LPORT: FAILED (PID: %d != NETLINK.LPORT: %d)\n" "${PID}" "${NETLINK_LPORT}"
        fi
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index cd110f6cca6a3af525058daf2a7a8f33bee3b326..3666879786322777f625c2aadb913e5d028aa1ad 100755 (executable)
@@ -61,7 +61,7 @@ INO_NS=
            echo "NAME_FD: $NAME_FD" == "net:[INO_NS: $INO_NS]": $?
        fi
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index aad693ff117dcdbdadcdd3c2533164c637a59492..b5eaef94e95058276dfee69814abb6986e9449a3 100755 (executable)
@@ -40,7 +40,7 @@ EXPR="(PID != ${TARGET}) and (FD == 3) and (PIDFD.PID == ${TARGET})"
        ${TS_CMD_LSFD} -n -o ASSOC,STTYPE,SOURCE,NAME,PIDFD.COMM,PIDFD.PID -p "${PID}" -p ${TARGET} -Q "${EXPR}"
        echo 'ASSOC,STTYPE,SOURCE,NAME,PIDFD.COMM,PIDFD.PID': $?
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index c2ca049ab00b0574d0b6f5f7276fea09c292d3a5..21777426ae836687d78766b0d465d9f575d6b0b0 100755 (executable)
@@ -122,7 +122,7 @@ for i in 0 1; do
                           -o ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,${COLNS[$i]}.LADDR,${COLNS[$i]}.RADDR,PING.ID \
                           -p "${PID}" -Q "${EXPR[$i]}"
            echo "ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,${COLNS[$i]}.LADDR,${COLNS[$i]}.RADDR,PING.ID": $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
@@ -132,7 +132,7 @@ for i in 0 1; do
                           -o ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,${COLNS[$i]}.LADDR,${COLNS[$i]}.RADDR,PING.ID \
                           -p "${PID}" -Q "${EXPR[$i]}"
            echo "ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,${COLNS[$i]}.LADDR,${COLNS[$i]}.RADDR,PING.ID": $?
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
     } > "$TS_OUTPUT" 2>&1
     wait "${MKFDS_PID}"
index e28aa9df1d9969b897a8b0ce129d0b72db7fdea2..f2f950a878de4f1c8958066d7c28c981d59f560e 100755 (executable)
@@ -116,7 +116,7 @@ EOF
            echo EXPECTED_LSFD_ENDPOINTS_JSON: "${EXPECTED_LSFD_ENDPOINTS_JSON}"
        fi
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 0260ba1d9a37d6829ce36c17dbb41a04d8881356..57703404408eaae7cc8c619f1fbade4cb70de889 100755 (executable)
@@ -40,7 +40,7 @@ PROTOCOL=5
                       -o ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET.LADDR,INET.RADDR,RAW.PROTOCOL \
                       -p "${PID}" -Q "${EXPR}"
        echo 'ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET.LADDR,INET.RADDR,RAW.PROTOCOL': $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 
     wait "${MKFDS_PID}"
index 0b82fff330994ead93c0e1c721f8f608fb8858a2..1eddea28f94be8ce96d0bbfe1e80133d67927995 100755 (executable)
@@ -41,7 +41,7 @@ PROTOCOL=5
                       -o ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET6.LADDR,INET6.RADDR,RAW.PROTOCOL \
                       -p "${PID}" -Q "${EXPR}"
        echo 'ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET6.LADDR,INET6.RADDR,RAW.PROTOCOL': $?
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
 
     wait "${MKFDS_PID}"
index ad5a4920459c8287e10248caa48f3af6cf01fbef..7b14630022381df8120822223d133becba4982f1 100755 (executable)
@@ -72,7 +72,7 @@ EXPR=
 
        lsfd_compare_dev "${TS_CMD_LSFD}" "${LSFD_LOOP_BDEV}" "${EXPR}"
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index a2c4c268b874b00187158f45342be59cf6b20c37..367a07d560f66ca2262f53bd430397a881ce67a2 100755 (executable)
@@ -70,7 +70,7 @@ EXPR=
 
        lsfd_compare_dev "${TS_CMD_LSFD}" $target "${EXPR}"
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 85dd29cad6d426a3ba5498791c27f92eb336eac6..3df29447e9d3bdacb572c1f21f3556acab93a798 100755 (executable)
@@ -42,7 +42,7 @@ EXPR=
 
        lsfd_compare_dev "${TS_CMD_LSFD}" $target "${EXPR}"
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 8e7d5f19b123dcd1d5b666d96e2315f86de419fe..ecc737968a9c6070d975010f0899db997c68d04e 100755 (executable)
@@ -56,7 +56,7 @@ EXPR='(FD == '"$FD"')'
        ${TS_CMD_LSFD} -p "${PID}" -n -o "${COL}" -Q "${EXPR}"
        echo "${COL}": $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index 3ffd0888e8839a0f143819eeec78d511de16a8ea..64984d9464204cd46762e9c9c0e2b43418a71bf0 100755 (executable)
@@ -40,7 +40,7 @@ EXPR=
        ${TS_CMD_LSFD} -n -o ASSOC,MODE,STTYPE,SOURCE,SOCK.PROTONAME -Q "${EXPR}" | sed -e 's/UNIX-DGRAM/UNIX/'
        echo 'ASSOC,MODE,STTYPE,SOURCE,SOCK.PROTONAME': ${PIPESTATUS[0]}
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index 482564519fdee5a23ff98a882ef9968a34f92dc7..56eccca6cde62e47d4194fe6036a1d8efe4369d2 100755 (executable)
@@ -37,7 +37,7 @@ EXPR=
        ${TS_CMD_LSFD} -n -o ASSOC,MODE,TYPE,NAME,FLAGS -Q "${EXPR}"
        echo 'ASSOC,MODE,TYPE,NAME,FLAGS': $?
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1
index e1ebbec92fe763b81dbdbd39d17038cd01acb217..666cf6ac1148aaae05b6ec1700e3e3e162df46f0 100755 (executable)
@@ -42,7 +42,7 @@ EXPR='(TYPE == "TCP") and (FD >= 3) and (FD <= 5)'
                       -p "${PID}" -Q "${EXPR}"
        echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,TCP.LADDR,TCP.LPORT,TCP.RADDR,TCP.RPORT': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index 609ef9887724cc8f0684bab497b7b93eecf4bb9a..bffa630c46e555a85c0f07280debb95ba5dc666c 100755 (executable)
@@ -43,7 +43,7 @@ EXPR='(TYPE == "TCPv6") and (FD >= 3) and (FD <= 5)'
                       -p "${PID}" -Q "${EXPR}"
        echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,TCP.LADDR,TCP.LPORT,TCP.RADDR,TCP.RPORT': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index 4b6e96d7584daa3ea898936da3cc6f8438ff624b..d2e0b8a5350d75e2ed83010b3aa558d2f4896e48 100755 (executable)
@@ -50,7 +50,7 @@ ts_init_subtest "realtime-remaining-and-interval"
        ${TS_CMD_LSFD} -p "${PID}" -n -o TIMERFD.INTERVAL -Q "${EXPR}"
        echo 'TIMERFD.INTERVAL': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
@@ -76,7 +76,7 @@ ts_init_subtest "monotonic-remaining-only"
        ${TS_CMD_LSFD} -p "${PID}" -n -o TIMERFD.INTERVAL -Q "${EXPR}"
        echo 'TIMERFD.INTERVAL': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
@@ -100,7 +100,7 @@ ts_init_subtest "boottime-interval-only"
        ${TS_CMD_LSFD} -p "${PID}" -n -o TIMERFD.INTERVAL -Q "${EXPR}"
        echo 'TIMERFD.INTERVAL': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index ba8d27545b626e45d1cf8baddb586b2b73c2ba26..bd40d559d4203de08d33168610907d7835a87e03 100755 (executable)
@@ -47,7 +47,7 @@ EXPR='(FD == '"$FD"')'
            ${TS_CMD_LSFD} -p "${PID}" -n -o TIMERFD.INTERVAL -Q "${EXPR}"
            echo 'TIMERFD.INTERVAL': $?
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
     done
index f202100405bf1b689e24d0bdc60d0e1c6ac397dd..3d1b27253845507a94ee5bb066cd5c8498eb9e7c 100755 (executable)
@@ -60,7 +60,7 @@ for lite in 0 1; do
                       -p "${PID}" -Q "${EXPR[$lite]}"
        echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -85,7 +85,7 @@ for lite in 0 1; do
            echo "NAME pattern match: FAILED (NAME=$NAME)"
        fi
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -115,7 +115,7 @@ for lite in 0 1; do
            echo "LADDR/LPORT pattern match: FAILED (LADDR=$LADDR, LPORT=$LPORT)"
        fi
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -130,7 +130,7 @@ for lite in 0 1; do
                       -p "${PID}" -Q "${EXPR[$lite]}"
        echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 done > "$TS_OUTPUT" 2>&1
index eb8d3054e5aac873fdc92a7423c570cc050365bf..26bdacd7c8b8de73ce476ce32f74190ed2b4c010 100755 (executable)
@@ -61,7 +61,7 @@ for lite in 0 1; do
                       -p "${PID}" -Q "${EXPR[$lite]}"
        echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -86,7 +86,7 @@ for lite in 0 1; do
            echo "NAME pattern match: FAILED (NAME=$NAME)"
        fi
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -116,7 +116,7 @@ for lite in 0 1; do
            echo "LADDR/LPORT pattern match: FAILED (LADDR=$LADDR, LPORT=$LPORT)"
        fi
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -131,7 +131,7 @@ for lite in 0 1; do
                       -p "${PID}" -Q "${EXPR[$lite]}"
        echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 done > "$TS_OUTPUT" 2>&1
index c8b40eb0d570ad77fd62007335e33a79be580ad1..79e475a13316f8e7576047e2d9bec23fd1d267c3 100755 (executable)
@@ -47,7 +47,7 @@ make_state_connected()
                       -p "${PID}" -Q "${EXPR}" | make_state_connected
        echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 
@@ -60,7 +60,7 @@ make_state_connected()
                       -p "${PID}" -Q "${EXPR}" | make_state_connected
        echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': $?
 
-       kill -CONT "${PID}"
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
index cfca087b1501b214b8d3d149a5c56e846a46fa69..9ed456701c240397ef3ae3b5f8dade70045dfde7 100755 (executable)
@@ -78,7 +78,7 @@ for t in stream dgram seqpacket; do
 
            compare_net_namespaces "$t" "${PID}"
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
@@ -94,7 +94,7 @@ for t in stream dgram seqpacket; do
 
            compare_net_namespaces "abstract $t" "${PID}"
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
     } > "$TS_OUTPUT" 2>&1
index fe08e720350ff7598a8bf74e7eee7672ce90e3a4..3c31443dbe62e2872266a0ed34c961c33c27557c 100755 (executable)
@@ -46,7 +46,7 @@ EXPR='(((TYPE == "UNIX-STREAM") or (TYPE == "UNIX")) and (FD >= 3) and (FD <= 5)
                           -p "${PID}" -Q "${EXPR}" | lsfd_strip_type_stream
            echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
@@ -59,7 +59,7 @@ EXPR='(((TYPE == "UNIX-STREAM") or (TYPE == "UNIX")) and (FD >= 3) and (FD <= 5)
                           -p "${PID}" -Q "${EXPR}" | lsfd_strip_type_stream
            echo '(abs) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
@@ -75,7 +75,7 @@ EXPR='(((TYPE == "UNIX-STREAM") or (TYPE == "UNIX")) and (FD >= 3) and (FD <= 5)
            echo '(shutdown) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
            # Surprisingly, the socket status doesn't change at all.
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
@@ -88,7 +88,7 @@ EXPR='(((TYPE == "UNIX-STREAM") or (TYPE == "UNIX")) and (FD >= 3) and (FD <= 5)
                           -p "${PID}" -Q "${EXPR}" | lsfd_strip_type_stream
            echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
index 64bdae0eb3eefe34c494d836b0e79a291888420e..c188464b2c83c43d8b8fae8da6f5e48bf9200c4e 100755 (executable)
@@ -46,7 +46,7 @@ EXPR='(((TYPE == "UNIX-STREAM") or (TYPE == "UNIX")) and (FD >= 3) and (FD <= 5)
                           -p "${PID}" -Q "${EXPR}" | lsfd_strip_type_stream
            echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': ${PIPESTATUS[0]}
 
-           kill -CONT "${PID}"
+           echo DONE >&"${MKFDS[1]}"
        fi
        wait "${MKFDS_PID}"
 
index 0ea4353e3e15b652b9767222d661f4e645419b2e..003b624ae3e6e18b5401368769e9a5efeddcd542 100755 (executable)
@@ -72,7 +72,7 @@ POUT=
        [ "${QOUT}" = "${POUT}" ]
        echo "EQ[-p PID --pid=1]:" $?
 
-       kill -CONT ${PID}
+       echo DONE >&"${MKFDS[1]}"
     fi
     wait ${MKFDS_PID}
 } > $TS_OUTPUT 2>&1