diff --git a/stdlib/public/Concurrency/Task.cpp b/stdlib/public/Concurrency/Task.cpp index 7fd4e124dd188..1f061b6867c56 100644 --- a/stdlib/public/Concurrency/Task.cpp +++ b/stdlib/public/Concurrency/Task.cpp @@ -476,7 +476,12 @@ static AsyncTaskAndContext swift_task_create_commonImpl( if (currentTask) jobFlags.setPriority(currentTask->getPriority()); else - jobFlags.setPriority(swift_task_getCurrentThreadPriority()); + // FIXME: Ideally, this should be setting priority based on + // swift_task_getCurrentThreadPriority(). However, that creates + // priority differences which lead to different kinds of hangs + // Temporarily use Unspecified to work around that. + // See also: PR #37939. + jobFlags.setPriority(JobPriority::Unspecified); } // Figure out the size of the header.