# test :
#   info threads valgrind specific output
#   the user can control-c an process with all threads in WaitSys
#          and modify some variables
#   the user can control-c an process with all threads in Running/Yielding
#          and modify some variables
# sleepers is started with argument so that it will compute during ages.
# The variable modifications means it will exit in a reasonable time.
# This test is disabled on Solaris because modifying select/poll/ppoll timeout
# has no effect if a thread is already blocked in that syscall.
prog: sleepers
args: 1000000000 1000000000 1000000000 BSBSBSBS
vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc
stderr_filter: filter_stderr
# Bug 338633 nlcontrol hangs on arm64 currently.
prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/arch_test tilegx && ! ../tests/os_test solaris
progB: gdb
argsB: --quiet -l 60 --nx ./sleepers
stdinB: nlcontrolc.stdinB.gdb
stdoutB_filter: filter_gdb
stderrB_filter: filter_make_empty
