From 6e5b89e0561bf2436189205708253d91005021ab Mon Sep 17 00:00:00 2001
From: Ilya Verbin <iverbin@tarantool.org>
Date: Fri, 10 Jun 2022 21:12:54 +0300
Subject: [PATCH] core: get rid of fiber_set_cancellable in
 gc_checkpoint_fiber_f

Spurious wakeups are already handled correctly.

Part of #7166

NO_DOC=refactoring
NO_TEST=refactoring
NO_CHANGELOG=refactoring
---
 src/box/gc.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/box/gc.c b/src/box/gc.c
index 9ebe28421b..a9008bff45 100644
--- a/src/box/gc.c
+++ b/src/box/gc.c
@@ -573,12 +573,6 @@ gc_checkpoint_fiber_f(va_list ap)
 {
 	(void)ap;
 
-	/*
-	 * Make the fiber non-cancellable so as not to bother
-	 * about spurious wakeups.
-	 */
-	fiber_set_cancellable(false);
-
 	struct checkpoint_schedule *sched = &gc.checkpoint_schedule;
 	while (!fiber_is_cancelled()) {
 		double timeout = checkpoint_schedule_timeout(sched,
@@ -597,7 +591,8 @@ gc_checkpoint_fiber_f(va_list ap)
 		if (!fiber_yield_timeout(timeout) &&
 		    !gc.checkpoint_is_pending) {
 			/*
-			 * The checkpoint schedule has changed.
+			 * The checkpoint schedule has changed or the fiber has
+			 * been woken up spuriously.
 			 * Reschedule the next checkpoint.
 			 */
 			continue;
-- 
GitLab