Skip to content

Commit 7126f32

Browse files
ktosoDougGregor
authored andcommitted
fix properly, by using Task.JobFlags which does conversions
1 parent 7615c70 commit 7126f32

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

include/swift/Runtime/Concurrency.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ bool swift_task_removeStatusRecord(AsyncTask *task,
174174
TaskStatusRecord *record);
175175

176176
SWIFT_EXPORT_FROM(swift_Concurrency) SWIFT_CC(swift)
177-
JobPriority
178-
swift_task_getPriority(AsyncTask* task);
177+
JobFlags
178+
swift_task_getJobFlags(AsyncTask* task);
179179

180180
/// This should have the same representation as an enum like this:
181181
/// enum NearestTaskDeadline {

stdlib/public/Concurrency/Task.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,6 @@ void swift::swift_task_run(AsyncTask *taskToRun) {
352352
taskToRun->run(ExecutorRef::noPreference());
353353
}
354354

355-
JobPriority swift::swift_task_getPriority(AsyncTask *task) {
356-
return task->getPriority();
355+
JobFlags swift::swift_task_getJobFlags(AsyncTask *task) {
356+
return task->Flags;
357357
}

stdlib/public/Concurrency/Task.swift

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,8 @@ extension Task {
4444
/// This function returns instantly and will never suspend.
4545
/* @instantaneous */
4646
public static func currentPriority() async -> Priority {
47-
let task = Builtin.getCurrentAsyncTask()
48-
let p = getPriority(task)
49-
if let priority = Priority(rawValue: p) {
50-
return priority
51-
} else {
52-
fatalError("Unknown priority: \(p)")
53-
}
47+
let flags = getJobFlags(Builtin.getCurrentAsyncTask())
48+
return flags.priority
5449
}
5550

5651
/// Task priority may inform decisions an `Executor` makes about how and when
@@ -421,8 +416,8 @@ extension Task {
421416
@_silgen_name("swift_task_run")
422417
public func runTask(_ task: __owned Builtin.NativeObject)
423418

424-
@_silgen_name("swift_task_getPriority")
425-
func getPriority(_ task: __owned Builtin.NativeObject) -> Int
419+
@_silgen_name("swift_task_getJobFlags")
420+
func getJobFlags(_ task: __owned Builtin.NativeObject) -> Task.JobFlags
426421

427422
public func runAsync(_ asyncFun: @escaping () async -> ()) {
428423
let childTask = Builtin.createAsyncTask(0, nil, asyncFun)

0 commit comments

Comments
 (0)