Commit 2b4b6e0
In TaskPipelineManager, a new kTaskPipelineStatusTerminating status code was added between the kTaskPipelineStatusRunning and kTaskPipelineStatusTerminated phases.
In TaskPipelineManager terminateTasks, the @synchronized directive was used in a critical section of code, and the result of NSTask isRunning is checked before sending the terminate message. This should avoid some crashes that occurred when terminate was sent to an NSTask that had already terminated.
Also, the NSTask terminate section of code is now enclosed in a @try/@catch block to avoid app crashes.1 parent d704152 commit 2b4b6e0
3 files changed
Lines changed: 23 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | 121 | | |
125 | 122 | | |
126 | 123 | | |
| |||
136 | 133 | | |
137 | 134 | | |
138 | 135 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
| 136 | + | |
143 | 137 | | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
| 138 | + | |
148 | 139 | | |
149 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
150 | 155 | | |
151 | 156 | | |
| 157 | + | |
| 158 | + | |
152 | 159 | | |
153 | 160 | | |
154 | 161 | | |
| |||
0 commit comments