From 3839734b945e464b678a9718fdce3c05e9e7f613 Mon Sep 17 00:00:00 2001
From: normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Fri, 22 Jun 2018 06:17:15 +0000
Subject: [PATCH] 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
---
 thread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/thread.c b/thread.c
index db7f28c8fb..5a5e32379d 100644
--- a/thread.c
+++ b/thread.c
@@ -1271,10 +1271,10 @@ sleep_timespec(rb_thread_t *th, struct timespec ts, unsigned int fl)
     while (th->status == THREAD_STOPPED) {
 	native_sleep(th, &ts);
 	RUBY_VM_CHECK_INTS_BLOCKING(th->ec);
-	if (timespec_update_expire(&ts, &end))
-	    break;
 	if (!(fl & SLEEP_SPURIOUS_CHECK))
 	    break;
+	if (timespec_update_expire(&ts, &end))
+	    break;
     }
     th->status = prev_status;
 }