Skip to content

Commit 09991db

Browse files
authored
Merge pull request #71327 from xedin/raise-unexpected-executor-log-level
[stdlib] Make expected actor isolation checking crash by default
2 parents 0943504 + 8787846 commit 09991db

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-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: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
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: %empty-directory(%t)
2+
// RUN: %target-build-swift %import-libdispatch -Xfrontend -disable-availability-checking -enable-actor-data-race-checks -parse-as-library %s -o %t/a.out -module-name main
3+
// RUN: %target-codesign %t/a.out
4+
// RUN: env %env-SWIFT_UNEXPECTED_EXECUTOR_LOG_LEVEL=1 %target-run %t/a.out 2>&1 | %FileCheck %s
35

46
// REQUIRES: executable_test
57
// REQUIRES: concurrency
@@ -59,14 +61,14 @@ actor MyActor {
5961
struct Runner {
6062
static func main() async {
6163
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
64+
// CHECK: warning: data race detected: @MainActor function at main/data_race_detection.swift:25 was not called on the main thread
6365
launchFromMainThread()
6466
sleep(1)
6567

6668
let actor = MyActor()
6769
let actorFn = await actor.getTaskOnMyActor()
6870
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
71+
// CHECK: warning: data race detected: actor-isolated function at main/data_race_detection.swift:54 was not called on the same actor
7072
launchTask(actorFn)
7173

7274
sleep(1)

0 commit comments

Comments
 (0)