|
1 |
| -diff --git a/Sources/NIOCore/AsyncSequences/NIOAsyncWriter.swift b/Sources/NIOCore/AsyncSequences/NIOAsyncWriter.swift |
2 |
| -index badc34f967..f232d518f9 100644 |
3 |
| ---- a/Sources/NIOCore/AsyncSequences/NIOAsyncWriter.swift |
4 |
| -+++ b/Sources/NIOCore/AsyncSequences/NIOAsyncWriter.swift |
5 |
| -@@ -1173,7 +1173,38 @@ extension NIOAsyncWriter { |
6 |
| - delegate: delegate |
7 |
| - ) |
8 |
| - |
9 |
| -- case .initial, .finished, .writerFinished: |
10 |
| -+ case .writerFinished( |
11 |
| -+ let isWritable, |
12 |
| -+ let inDelegateOutcall, |
13 |
| -+ var suspendedYields, |
14 |
| -+ let cancelledYields, |
15 |
| -+ let bufferedYieldIDs, |
16 |
| -+ let delegate, |
17 |
| -+ let error |
18 |
| -+ ): |
19 |
| -+ // We have a suspended yield at this point that hasn't been cancelled yet. |
20 |
| -+ // It was buffered before we became finished, so we still have to deliver it. |
21 |
| -+ // We need to store the yield now. |
22 |
| -+ |
23 |
| -+ self._state = .modifying |
24 |
| -+ |
25 |
| -+ let suspendedYield = SuspendedYield( |
26 |
| -+ yieldID: yieldID, |
27 |
| -+ continuation: continuation |
28 |
| -+ ) |
29 |
| -+ suspendedYields.append(suspendedYield) |
30 |
| -+ |
31 |
| -+ self._state = .writerFinished( |
32 |
| -+ isWritable: isWritable, |
33 |
| -+ inDelegateOutcall: inDelegateOutcall, |
34 |
| -+ suspendedYields: suspendedYields, |
35 |
| -+ cancelledYields: cancelledYields, |
36 |
| -+ bufferedYieldIDs: bufferedYieldIDs, |
37 |
| -+ delegate: delegate, |
38 |
| -+ error: error |
39 |
| -+ ) |
40 |
| -+ |
41 |
| -+ case .initial, .finished: |
42 |
| - preconditionFailure("This should have already been handled by `yield()`") |
43 |
| - |
44 |
| - case .modifying: |
45 |
| -@@ -1501,7 +1532,7 @@ extension NIOAsyncWriter { |
46 |
| - |
47 |
| - self._state = .writerFinished( |
48 |
| - isWritable: isWritable, |
49 |
| -- inDelegateOutcall: inDelegateOutcall, |
50 |
| -+ inDelegateOutcall: false, |
51 |
| - suspendedYields: .init(), |
52 |
| - cancelledYields: cancelledYields, |
53 |
| - bufferedYieldIDs: bufferedYieldIDs, |
54 | 1 | diff --git a/Tests/NIOCoreTests/AsyncSequences/NIOAsyncWriterTests.swift b/Tests/NIOCoreTests/AsyncSequences/NIOAsyncWriterTests.swift
|
55 | 2 | index 31c680b8bf..4f15ac9af9 100644
|
56 | 3 | --- a/Tests/NIOCoreTests/AsyncSequences/NIOAsyncWriterTests.swift
|
|
0 commit comments