summary refs log tree commit diff
path: root/Functions/TCP/tcp_wait
blob: ee04cf23b818932e9816a25555aae7c057d101db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Wait for given number of seconds, reading any data from
# all TCP connections while doing so.

if [[ ${(t)SECONDS} != float* ]]; then
    # If called from tcp_expect, don't override
    typeset -F TCP_SECONDS_START=$SECONDS
    # Get extra accuracy by making SECONDS floating point locally
    typeset -F SECONDS
fi

typeset to end

(( to = $1, end = SECONDS + to ))
while (( SECONDS < end )); do
  tcp_read -a -T $to
  (( to = end - SECONDS ))
done
return