# ControlSession.preconditionIsolated(_:file:line:)

- **Module:** ControlSession
- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** method
- **Page:** https://libtmux.org/reference/swift/controlsession-preconditionisolated(_-file-line-)/

```
ControlSession.preconditionIsolated(_:file:line:)(message: () -> String, file: StaticString, line: UInt) -> ()
```

Stops program execution if the current task is not executing on this actor's serial executor.

This function's effect varies depending on the build flag used:

* In playgrounds and `-Onone` builds (the default for Xcode's Debug
  configuration), stops program execution in a debuggable state after
  printing `message`.

* In `-O` builds (the default for Xcode's Release configuration), stops
  program execution.

- Note: This check is performed against the actor's serial executor,
  meaning that / if another actor uses the same serial executor--by using
  that actor's serial executor as its own ``Actor/unownedExecutor``--this
  check will succeed , as from a concurrency safety perspective, the
  serial executor guarantees mutual exclusion of those two actors.

- Parameters:
  - message: The message to print if the assertion fails.
  - file: The file name to print if the assertion fails. The default is
          where this method was called.
  - line: The line number to print if the assertion fails The default is
          where this method was called.
