Commit 5b9bebf
committed
Deal with controller failures in the init path
It is very difficult to tell in the chain from
as_async through the other thread, the tp_new
call and all the intermediate CPython APIs
when failure occurred and who cleans up the
mess. This finally gets everything right
by making the boxed_call doing the init free
the connection unless tp_new succeeds.1 parent fcec60f commit 5b9bebf
2 files changed
Lines changed: 14 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
84 | 92 | | |
85 | 93 | | |
86 | 94 | | |
| |||
135 | 143 | | |
136 | 144 | | |
137 | 145 | | |
| 146 | + | |
138 | 147 | | |
139 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
140 | 151 | | |
141 | 152 | | |
142 | 153 | | |
| |||
165 | 176 | | |
166 | 177 | | |
167 | 178 | | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | 179 | | |
173 | 180 | | |
174 | 181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
808 | 808 | | |
809 | 809 | | |
810 | 810 | | |
| 811 | + | |
811 | 812 | | |
812 | 813 | | |
813 | 814 | | |
| |||
827 | 828 | | |
828 | 829 | | |
829 | 830 | | |
830 | | - | |
| 831 | + | |
831 | 832 | | |
832 | 833 | | |
833 | | - | |
834 | 834 | | |
835 | 835 | | |
836 | 836 | | |
837 | 837 | | |
838 | 838 | | |
839 | 839 | | |
840 | | - | |
841 | 840 | | |
842 | 841 | | |
843 | 842 | | |
| |||
0 commit comments