#!/bin/sh

# Ensure that strace can detach from sleeping processes.

. "${srcdir=.}/init.sh"

run_prog_skip_if_failed \
	kill -0 $$

check_prog sleep

set -e

rm -f "$LOG"
./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &

while ! [ -s "$LOG" ]; do
	kill -0 $! 2> /dev/null ||
		fail_ 'set_ptracer_any sleep failed'
	$SLEEP_A_BIT
done

tracee_pid=$!

cleanup()
{
	set +e
	kill $tracee_pid
	wait $tracee_pid 2> /dev/null
	return 0
}

rm -f "$LOG"
$STRACE -p $tracee_pid 2> "$LOG" &

while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
	kill -0 $! 2> /dev/null || {
		cleanup
		dump_log_and_fail_with "$STRACE -p failed to attach"
	}
	$SLEEP_A_BIT
done

kill -INT $!
wait $!

grep -F "Process $tracee_pid detached" "$LOG" > /dev/null || {
	cleanup
	dump_log_and_fail_with "$STRACE -p failed to detach"
}

if [ -f /proc/self/status ]; then
	$SLEEP_A_BIT
	test -d /proc/$tracee_pid || {
		cleanup
		dump_log_and_fail_with 'tracee died after detach'
	}
	grep '^State:.*S (sleeping)' < /proc/$tracee_pid/status > /dev/null || {
		grep '^State:' < /proc/$tracee_pid/status
		cleanup
		dump_log_and_fail_with 'tracee is not sleeping after detach'
	}
fi

cleanup
exit 0
