diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index 5eef35a..183312d 100755
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -199,9 +199,11 @@
   SpinFunctionHelper() {
     SpinFunctionHelper::spin_flag_ = true;
   }
+
   ~SpinFunctionHelper() {
     UnSpin();
   }
+
   auto GetFunction() -> void* (*)(void*) {
     return SpinFunctionHelper::SpinFn;
   }
@@ -2233,12 +2235,14 @@
   ASSERT_EQ(0, pthread_attr_init(&attr));
   ASSERT_EQ(0, pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED));
 
+  SpinFunctionHelper spin_helper;
   pthread_t t;
-  ASSERT_EQ(0, pthread_create(&t, &attr, IdFn, nullptr));
+  ASSERT_EQ(0, pthread_create(&t, &attr, spin_helper.GetFunction(), nullptr));
   int actual_policy;
   sched_param actual_param;
   ASSERT_EQ(0, pthread_getschedparam(t, &actual_policy, &actual_param));
   ASSERT_EQ(SCHED_FIFO, actual_policy);
+  spin_helper.UnSpin();
   ASSERT_EQ(0, pthread_join(t, nullptr));
 }
 
@@ -2256,12 +2260,14 @@
   ASSERT_EQ(0, pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED));
   ASSERT_EQ(0, pthread_attr_setschedpolicy(&attr, SCHED_OTHER));
 
+  SpinFunctionHelper spin_helper;
   pthread_t t;
-  ASSERT_EQ(0, pthread_create(&t, &attr, IdFn, nullptr));
+  ASSERT_EQ(0, pthread_create(&t, &attr, spin_helper.GetFunction(), nullptr));
   int actual_policy;
   sched_param actual_param;
   ASSERT_EQ(0, pthread_getschedparam(t, &actual_policy, &actual_param));
   ASSERT_EQ(SCHED_OTHER, actual_policy);
+  spin_helper.UnSpin();
   ASSERT_EQ(0, pthread_join(t, nullptr));
 }
 
@@ -2278,11 +2284,13 @@
   ASSERT_EQ(0, pthread_attr_init(&attr));
   ASSERT_EQ(0, pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED));
 
+  SpinFunctionHelper spin_helper;
   pthread_t t;
-  ASSERT_EQ(0, pthread_create(&t, &attr, IdFn, nullptr));
+  ASSERT_EQ(0, pthread_create(&t, &attr, spin_helper.GetFunction(), nullptr));
   int actual_policy;
   sched_param actual_param;
   ASSERT_EQ(0, pthread_getschedparam(t, &actual_policy, &actual_param));
   ASSERT_EQ(SCHED_FIFO  | SCHED_RESET_ON_FORK, actual_policy);
+  spin_helper.UnSpin();
   ASSERT_EQ(0, pthread_join(t, nullptr));
 }
