Commit b788dd1
committed
[Concurrency] TaskExecutors may be non-swift objects; dont swift_release them
Since we introduced proper ownership of task executors, they are now
released and retained. The problem appears with a dispatch_queue_t which
conforms to TaskExecutor being passed to Task initializer and retains
work okey because it is __owned. However, upon destroy we swift_released
the executor reference, which is incorrect as we must be using object
specific release methods -- in this case the safe way to support all
kinds of objects is `swift_unknownObjectRelease`
resolves rdar://1311516451 parent 82dd1b9 commit b788dd1
1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
772 | 772 | | |
773 | 773 | | |
774 | 774 | | |
775 | | - | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
776 | 780 | | |
777 | 781 | | |
778 | 782 | | |
| |||
0 commit comments