]> granicus.if.org Git - gc/commitdiff
Call real pthread_sigmask instead of its wrapper in start_mark_threads
authorIvan Maidanski <ivmai@mail.ru>
Fri, 28 Sep 2018 06:35:51 +0000 (09:35 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 3 Oct 2018 08:14:33 +0000 (11:14 +0300)
(fix of commit 95947bdc5)

The wrapper itself does not do anything useful in this case.

* pthread_support.c [PARALLEL_MARK && !NO_MARKER_SPECIAL_SIGMASK]
(GC_start_mark_threads_inner): Call REAL_FUNC(pthread_sigmask) instead
of pthread_sigmask.

pthread_support.c

index 22b369d6192172d6addae9a79ce902f2f9f227ac..8a78efed007c27564a0f03bb23c627be29219992 100644 (file)
@@ -451,7 +451,7 @@ GC_INNER void GC_start_mark_threads_inner(void)
           ABORT("sigdelset failed");
 #     endif
 
-      if (pthread_sigmask(SIG_BLOCK, &set, &oldset) < 0) {
+      if (REAL_FUNC(pthread_sigmask)(SIG_BLOCK, &set, &oldset) < 0) {
         WARN("pthread_sigmask set failed, no markers started,"
              " errno = %" WARN_PRIdPTR "\n", errno);
         GC_markers_m1 = 0;
@@ -477,7 +477,7 @@ GC_INNER void GC_start_mark_threads_inner(void)
 
 #   ifndef NO_MARKER_SPECIAL_SIGMASK
       /* Restore previous signal mask.  */
-      if (pthread_sigmask(SIG_SETMASK, &oldset, NULL) < 0) {
+      if (REAL_FUNC(pthread_sigmask)(SIG_SETMASK, &oldset, NULL) < 0) {
         WARN("pthread_sigmask restore failed, errno = %" WARN_PRIdPTR "\n",
              errno);
       }