thread.c (sleep_timespec): avoid needless update w/o spuriuos check

No point in wasting cycles updating the timespec when not
checking on spurious wakeups.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2018-06-22 06:17:15 +00:00
parent 64a189d207
commit 3839734b94

View File

@ -1271,10 +1271,10 @@ sleep_timespec(rb_thread_t *th, struct timespec ts, unsigned int fl)
while (th->status == THREAD_STOPPED) { while (th->status == THREAD_STOPPED) {
native_sleep(th, &ts); native_sleep(th, &ts);
RUBY_VM_CHECK_INTS_BLOCKING(th->ec); RUBY_VM_CHECK_INTS_BLOCKING(th->ec);
if (timespec_update_expire(&ts, &end))
break;
if (!(fl & SLEEP_SPURIOUS_CHECK)) if (!(fl & SLEEP_SPURIOUS_CHECK))
break; break;
if (timespec_update_expire(&ts, &end))
break;
} }
th->status = prev_status; th->status = prev_status;
} }