Merge pull request #1798 from scop/subsec-sleep

rehash: try to sleep in 0.1 sec steps when acquiring lock
This commit is contained in:
Anton Petrov 2021-01-29 20:01:19 +03:00 committed by GitHub
commit b7efafe599
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -40,13 +40,14 @@ if [ ! -w "$SHIM_PATH" ]; then
fi
unset acquired
for (( i=1; i<="${PYENV_REHASH_TIMEOUT:-60}"; i++ )); do
start=$SECONDS
while (( SECONDS <= start + ${PYENV_REHASH_TIMEOUT:-60} )); do
if acquire_lock 2>/dev/null; then
acquired=1
break
else
# POSIX sleep(1) doesn't provides time precision of subsecond
sleep 1
# POSIX sleep(1) doesn't provide subsecond precision, but many others do
sleep 0.1 2>/dev/null || sleep 1
fi
done