]> granicus.if.org Git - gc/commitdiff
Eliminate 'unused variable' compiler warning in remove_all_threads_but_me
authorIvan Maidanski <ivmai@mail.ru>
Wed, 7 Jun 2017 07:18:28 +0000 (10:18 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Sat, 1 Jul 2017 15:48:49 +0000 (18:48 +0300)
(fix commit 0fc61f2)

* pthread_support.c [CAN_HANDLE_FORK] (GC_remove_all_threads_but_me):
Declare "res" local variable only if THREAD_LOCAL_ALLOC and
not USE_CUSTOM_SPECIFIC.

pthread_support.c

index 5853de205d4f8ae37be88a0a75f584a445d4c71e..67754d0acd806116f2cdc7692e6ea577904c3aa9 100644 (file)
@@ -728,8 +728,6 @@ STATIC void GC_remove_all_threads_but_me(void)
       for (p = GC_threads[hv]; 0 != p; p = next) {
         next = p -> next;
         if (THREAD_EQUAL(p -> id, self)) {
-          int res;
-
           me = p;
           p -> next = 0;
 #         ifdef GC_DARWIN_THREADS
@@ -742,6 +740,9 @@ STATIC void GC_remove_all_threads_but_me(void)
             me -> kernel_id = gettid();
 #         endif
 #         if defined(THREAD_LOCAL_ALLOC) && !defined(USE_CUSTOM_SPECIFIC)
+          {
+            int res;
+
             /* Some TLS implementations might be not fork-friendly, so  */
             /* we re-assign thread-local pointer to 'tlfs' for safety   */
             /* instead of the assertion check (again, it is OK to call  */
@@ -749,6 +750,7 @@ STATIC void GC_remove_all_threads_but_me(void)
             res = GC_setspecific(GC_thread_key, &me->tlfs);
             if (COVERT_DATAFLOW(res) != 0)
               ABORT("GC_setspecific failed (in child)");
+          }
 #         endif
         } else {
 #         ifdef THREAD_LOCAL_ALLOC