Skip to content

Commit

Permalink
Interate on isolation boundary intro wording (#103)
Browse files Browse the repository at this point in the history
* Interate on isolation boundary intro wording

* Fix typos
  • Loading branch information
mattmassicotte authored Jun 28, 2024
1 parent c97097b commit db4cdda
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions Guide.docc/DataRaceSafety.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,15 +390,14 @@ than just protection. They have to communicate and coordinate,
often by passing data back and forth.
Moving values into or out of an isolation domain is known as crossing an
isolation boundary.

Values are only ever permitted to cross an isolation boundary where there
is no potential for concurrent access to shared mutable state.
Values can cross a boundary directly, via asychronous function calls.
They can also cross boundaries indirectly when captured by closures.

Values can cross boundaries directly, via asynchronous function calls.
When you call an asynchronous function with a _different_ isolation domain,
the parameters and return value need to cross a boundary.
Closures introduce many opportunities to cross isolation boundaries.
the parameters and return value need to move into that domain.
Values can also cross boundaries indirectly when captured by closures.
Closures introduce many potential opportunities for concurrent accesses.
They can be created in one domain and then executed in another.
They can even be executed in multiple, different domains.

Expand Down

0 comments on commit db4cdda

Please sign in to comment.