Commit fda559f
Kris Wong
Address a crash when close is called from finalize.
On Android, finalize has 10 seconds to complete. SQLiteProgram.close is being called from finalize, and it does not consider whether it has already been closed before it tries to acquire the database lock. If the database is in use elsewhere, this can easily cause finalize to timeout, causing a fatal exception. This fixes the issue by making a second call to close a no-op.1 parent f87cee1 commit fda559f
File tree
2 files changed
+37
-18
lines changed- src/net/sqlcipher/database
2 files changed
+37
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
61 | 66 | | |
62 | 67 | | |
63 | 68 | | |
| |||
142 | 147 | | |
143 | 148 | | |
144 | 149 | | |
145 | | - | |
| 150 | + | |
146 | 151 | | |
147 | 152 | | |
148 | 153 | | |
| |||
177 | 182 | | |
178 | 183 | | |
179 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
180 | 188 | | |
181 | 189 | | |
182 | 190 | | |
| |||
196 | 204 | | |
197 | 205 | | |
198 | 206 | | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
199 | 210 | | |
200 | 211 | | |
201 | 212 | | |
| |||
215 | 226 | | |
216 | 227 | | |
217 | 228 | | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
218 | 232 | | |
219 | 233 | | |
220 | 234 | | |
| |||
237 | 251 | | |
238 | 252 | | |
239 | 253 | | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
240 | 257 | | |
241 | 258 | | |
242 | 259 | | |
| |||
259 | 276 | | |
260 | 277 | | |
261 | 278 | | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
262 | 282 | | |
263 | 283 | | |
264 | 284 | | |
| |||
274 | 294 | | |
275 | 295 | | |
276 | 296 | | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
277 | 300 | | |
278 | 301 | | |
279 | 302 | | |
| |||
289 | 312 | | |
290 | 313 | | |
291 | 314 | | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
292 | 318 | | |
293 | 319 | | |
294 | 320 | | |
| |||
298 | 324 | | |
299 | 325 | | |
300 | 326 | | |
| 327 | + | |
301 | 328 | | |
302 | 329 | | |
303 | 330 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
41 | 39 | | |
42 | 40 | | |
43 | | - | |
| 41 | + | |
44 | 42 | | |
45 | | - | |
46 | | - | |
| 43 | + | |
| 44 | + | |
47 | 45 | | |
48 | 46 | | |
49 | 47 | | |
| |||
96 | 94 | | |
97 | 95 | | |
98 | 96 | | |
99 | | - | |
| 97 | + | |
100 | 98 | | |
101 | 99 | | |
102 | 100 | | |
| |||
111 | 109 | | |
112 | 110 | | |
113 | 111 | | |
114 | | - | |
| 112 | + | |
115 | 113 | | |
116 | 114 | | |
117 | 115 | | |
| |||
123 | 121 | | |
124 | 122 | | |
125 | 123 | | |
126 | | - | |
| 124 | + | |
127 | 125 | | |
128 | 126 | | |
129 | 127 | | |
130 | 128 | | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 129 | | |
138 | 130 | | |
139 | 131 | | |
| |||
154 | 146 | | |
155 | 147 | | |
156 | 148 | | |
157 | | - | |
| 149 | + | |
158 | 150 | | |
159 | 151 | | |
160 | 152 | | |
| |||
183 | 175 | | |
184 | 176 | | |
185 | 177 | | |
186 | | - | |
| 178 | + | |
187 | 179 | | |
188 | 180 | | |
189 | 181 | | |
| |||
0 commit comments