]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
PRE(workq_ops): handle KI_WQOPS_QUEUE_REQTHREADS without complaining.
authorJulian Seward <jseward@acm.org>
Wed, 4 Sep 2013 07:31:10 +0000 (07:31 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 4 Sep 2013 07:31:10 +0000 (07:31 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13530

coregrind/m_syswrap/syswrap-darwin.c

index 4f0ce67954a989314484413ad211ae77c7c677f7..cbe9fbdd0582778fd8f2484c97d37e50303a5cb1 100644 (file)
@@ -1517,8 +1517,13 @@ PRE(workq_ops)
       // GrP fixme may block?
       break;
    case VKI_WQOPS_QUEUE_NEWSPISUPP:
-      break; // JRS don't think we need to do anything here
-
+      // JRS don't think we need to do anything here -- this just checks
+      // whether some newer functionality is supported
+      break;
+   case VKI_WQOPS_QUEUE_REQTHREADS:
+      // JRS uh, looks like it queues up a bunch of threads, or some such?
+      *flags |= SfMayBlock; // the kernel sources take a spinlock, so play safe
+      break;
    case VKI_WQOPS_THREAD_RETURN: {
       // The interesting case. The kernel will do one of two things:
       // 1. Return normally. We continue; libc proceeds to stop the thread.
@@ -1535,7 +1540,6 @@ PRE(workq_ops)
       *flags |= SfMayBlock;  // GrP fixme true?
       break;
    }
-
    default:
       VG_(printf)("UNKNOWN workq_ops option %ld\n", ARG1);
       break;