Skip to content

Commit f03d292

Browse files
committed
[stdlib] Make expected actor isolation checking crash by default
Only affects projects compiled with `-enable-actor-data-race-checks` flag.
1 parent b98d7a5 commit f03d292

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

stdlib/public/Concurrency/Actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ static bool swift_task_isCurrentExecutorImpl(SerialExecutorRef executor) {
353353
/// 0 - no logging
354354
/// 1 - warn on each instance
355355
/// 2 - fatal error
356-
static unsigned unexpectedExecutorLogLevel = 1;
356+
static unsigned unexpectedExecutorLogLevel = 2;
357357

358358
static void checkUnexpectedExecutorLogLevel(void *context) {
359359
#if SWIFT_STDLIB_HAS_ENVIRON

test/Concurrency/Runtime/data_race_detection.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -enable-actor-data-race-checks %import-libdispatch -parse-as-library) > %t.log 2>&1
2-
// RUN: %FileCheck %s < %t.log
1+
// RUN: %target-build-swift %import-libdispatch -Xfrontend -disable-availability-checking -enable-actor-data-race-checks -parse-as-library %s -o %t/main.out
2+
// RUN: %target-codesign %t/main.out
3+
// RUN: env SWIFT_UNEXPECTED_EXECUTOR_LOG_LEVEL=1 %target-run %t/main.out 2>&1 | %FileCheck %s
34

45
// REQUIRES: executable_test
56
// REQUIRES: concurrency
@@ -59,14 +60,14 @@ actor MyActor {
5960
struct Runner {
6061
static func main() async {
6162
print("Launching a main-actor task")
62-
// CHECK: warning: data race detected: @MainActor function at main/data_race_detection.swift:23 was not called on the main thread
63+
// CHECK: warning: data race detected: @MainActor function at main/data_race_detection.swift:24 was not called on the main thread
6364
launchFromMainThread()
6465
sleep(1)
6566

6667
let actor = MyActor()
6768
let actorFn = await actor.getTaskOnMyActor()
6869
print("Launching an actor-instance task")
69-
// CHECK: warning: data race detected: actor-isolated function at main/data_race_detection.swift:52 was not called on the same actor
70+
// CHECK: warning: data race detected: actor-isolated function at main/data_race_detection.swift:53 was not called on the same actor
7071
launchTask(actorFn)
7172

7273
sleep(1)

0 commit comments

Comments
 (0)