Skip to content

Commit 5b7f3d8

Browse files
committed
Updated release notes.
1 parent cf73b80 commit 5b7f3d8

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

doc/next/4-runtime.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,11 @@ func processWorkItems(ws []workItem) ([]workResult, error) {
6868
```
6969
Because `ch` is unbuffered, if `processWorkItems` returns early due to
7070
an error, all remaining `processWorkItem` goroutines will leak.
71-
However, `ch` also becomes inaccessible to all other goroutines
71+
However, `ch` also becomes unreachable to all other goroutines
7272
not involved in the leak soon after the leak itself occurs.
73-
74-
In general, a goroutine is leaked if it is blocked on an operation
75-
over concurrency primitives (e.g., channels,
76-
[sync.Mutex]) that are only reachable via leaked goroutines.
77-
In the example above, the culprit send operation involves
78-
a channel only reachable to `processWorkItem` goroutines.
79-
The runtime is now equipped to detect such leaks via goroutine
80-
leak profiles. All leaks reported by profiles are real, i.e.,
81-
there are no false positives.
73+
In general, the runtime is now equipped to identify as leaked
74+
any goroutines blocked on operations over concurrency primitives
75+
(e.g., channels, [sync.Mutex]) that are not reachable from runnable goroutines.
8276

8377
Note, however, that the runtime may fail to identify leaks caused by
8478
blocking on operations over concurrency primitives reachable

0 commit comments

Comments
 (0)