swift
1df455bc - Allow building a concurrent libSwiftConcurrency without libdispatch

Commit
3 years ago
Allow building a concurrent libSwiftConcurrency without libdispatch The goal here is not to eventually implement a concurrent thread pool ourselves. We're just making it easier for integrators who have their own pool and don't want to use Dispatch to build the Swift concurrency runtime. Just hook the right functions and you should be fine. The necessary functions to hook are: - swift_task_enqueueGlobal - swift_task_enqueueGlobalAfterDelay The following functions *would* be necessary to hook: - swift_task_enqueueMainExecutor - swift_task_asyncMainDrainQueue (only if you have an async main?) However, this configuration does not currently properly support the main executor, and so `@MainActor` should be avoided for now. rdar://83513751
Author
Committer
Parents
  • include/swift/Runtime
    • File
      Concurrency.h
  • stdlib/public/Concurrency
    • File
      Actor.cpp
    • File
      CMakeLists.txt
    • File
      GlobalExecutor.cpp
    • File
      Task.cpp
    • File
      TaskGroup.cpp
    • File
      TaskPrivate.h