@@ -53,9 +53,9 @@ wait_for_wrapper()
53
53
{
54
54
# In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692
55
55
if [[ $WAITFORIT_QUIET -eq 1 ]]; then
56
- timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
56
+ $WAITFORIT_TIMEOUT_COMMAND $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
57
57
else
58
- timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
58
+ $WAITFORIT_TIMEOUT_COMMAND $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
59
59
fi
60
60
WAITFORIT_PID=$!
61
61
trap " kill -INT -$WAITFORIT_PID " INT
@@ -140,6 +140,25 @@ WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-15}
140
140
WAITFORIT_STRICT=${WAITFORIT_STRICT:- 0}
141
141
WAITFORIT_CHILD=${WAITFORIT_CHILD:- 0}
142
142
WAITFORIT_QUIET=${WAITFORIT_QUIET:- 0}
143
+ WAITFORIT_TIMEOUT_COMMAND=timeout
144
+
145
+ # Use gtimeout if timeout is not available
146
+ if ! which timeout; then
147
+ if which gtimeout; then
148
+ WAITFORIT_TIMEOUT_COMMAND=gtimeout
149
+ fi
150
+ fi
151
+
152
+ # install `timeout` if missing
153
+ if [ " $( uname) " == Darwin ]; then
154
+ if ! which timeout; then
155
+ echo " We are running on a mac without the timeout command. Attempting to install it."
156
+ set -e
157
+ brew install coreutils
158
+ set +e
159
+ WAITFORIT_TIMEOUT_COMMAND=gtimeout
160
+ fi
161
+ fi
143
162
144
163
# check to see if timeout is from busybox?
145
164
WAITFORIT_TIMEOUT_PATH=$( type -p timeout)
0 commit comments