Commit 714a20e
committed
bug #62645 [HttpClient] Fix sharing CurlClientState between clones of CurlHttpClient instances (nicolas-grekas)
This PR was squashed before being merged into the 6.4 branch.
Discussion
----------
[HttpClient] Fix sharing CurlClientState between clones of CurlHttpClient instances
| Q | A
| ------------- | ---
| Branch? | 6.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Issues | Fix #62633
| License | MIT
PR #54207 fixed descriptor exhaustion for apps that never issued HTTP calls, but it inadvertently broke the sharing of Curl state between cloned/scoped clients. Any place that pre-creates lots of withOptions() variants before the first real request will now instantiate a separate CurlClientState per variant, leaking curl multi handles relative to previous releases. The fix restores state sharing so multiple clones can still point to the same CurlClientState while maintaining the “only allocate when someone actually sends a request” behavior.
That's the only thing I could think of that'd explain #62633
/cc `@jwage` can you give this a try?
Commits
-------
18dca38 [HttpClient] Fix sharing CurlClientState between clones of CurlHttpClient instances
c0cad9e Revert "[HttpClient] Lazily initialize CurlClientState"File tree
3 files changed
+106
-89
lines changed- src/Symfony/Component/HttpClient
- Internal
- Tests
3 files changed
+106
-89
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | 54 | | |
58 | 55 | | |
59 | 56 | | |
| |||
72 | 69 | | |
73 | 70 | | |
74 | 71 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | 72 | | |
79 | 73 | | |
80 | 74 | | |
81 | 75 | | |
82 | 76 | | |
| 77 | + | |
| 78 | + | |
83 | 79 | | |
84 | 80 | | |
85 | 81 | | |
86 | 82 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
| 83 | + | |
91 | 84 | | |
92 | 85 | | |
93 | 86 | | |
94 | 87 | | |
95 | 88 | | |
96 | 89 | | |
97 | 90 | | |
98 | | - | |
99 | | - | |
100 | 91 | | |
101 | 92 | | |
102 | 93 | | |
| |||
174 | 165 | | |
175 | 166 | | |
176 | 167 | | |
177 | | - | |
178 | | - | |
| 168 | + | |
| 169 | + | |
179 | 170 | | |
180 | 171 | | |
181 | | - | |
| 172 | + | |
182 | 173 | | |
183 | | - | |
184 | | - | |
| 174 | + | |
| 175 | + | |
185 | 176 | | |
186 | 177 | | |
187 | 178 | | |
188 | | - | |
| 179 | + | |
189 | 180 | | |
190 | 181 | | |
191 | 182 | | |
192 | 183 | | |
193 | | - | |
194 | | - | |
| 184 | + | |
| 185 | + | |
195 | 186 | | |
196 | 187 | | |
197 | 188 | | |
| |||
293 | 284 | | |
294 | 285 | | |
295 | 286 | | |
296 | | - | |
297 | | - | |
| 287 | + | |
| 288 | + | |
298 | 289 | | |
299 | 290 | | |
300 | 291 | | |
301 | 292 | | |
302 | 293 | | |
303 | 294 | | |
304 | 295 | | |
305 | | - | |
| 296 | + | |
306 | 297 | | |
307 | 298 | | |
308 | 299 | | |
| |||
312 | 303 | | |
313 | 304 | | |
314 | 305 | | |
315 | | - | |
| 306 | + | |
316 | 307 | | |
317 | 308 | | |
318 | 309 | | |
| |||
325 | 316 | | |
326 | 317 | | |
327 | 318 | | |
328 | | - | |
| 319 | + | |
329 | 320 | | |
330 | 321 | | |
331 | 322 | | |
| |||
334 | 325 | | |
335 | 326 | | |
336 | 327 | | |
337 | | - | |
338 | | - | |
339 | | - | |
| 328 | + | |
340 | 329 | | |
341 | | - | |
| 330 | + | |
342 | 331 | | |
343 | 332 | | |
344 | 333 | | |
| |||
347 | 336 | | |
348 | 337 | | |
349 | 338 | | |
350 | | - | |
351 | | - | |
352 | | - | |
| 339 | + | |
353 | 340 | | |
354 | 341 | | |
355 | 342 | | |
| |||
448 | 435 | | |
449 | 436 | | |
450 | 437 | | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | 438 | | |
462 | 439 | | |
463 | 440 | | |
| |||
Lines changed: 55 additions & 43 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
42 | 44 | | |
43 | | - | |
44 | | - | |
45 | 45 | | |
46 | | - | |
47 | 46 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
| 47 | + | |
| 48 | + | |
79 | 49 | | |
80 | 50 | | |
81 | 51 | | |
| |||
89 | 59 | | |
90 | 60 | | |
91 | 61 | | |
92 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
93 | 72 | | |
94 | | - | |
95 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
96 | 76 | | |
97 | | - | |
98 | | - | |
| 77 | + | |
99 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
100 | 112 | | |
101 | 113 | | |
102 | | - | |
| 114 | + | |
103 | 115 | | |
104 | 116 | | |
105 | 117 | | |
| |||
127 | 139 | | |
128 | 140 | | |
129 | 141 | | |
130 | | - | |
| 142 | + | |
131 | 143 | | |
132 | 144 | | |
133 | 145 | | |
| |||
Lines changed: 32 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
| |||
22 | 21 | | |
23 | 22 | | |
24 | 23 | | |
25 | | - | |
| 24 | + | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
| |||
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
51 | | - | |
52 | | - | |
| 50 | + | |
| 51 | + | |
53 | 52 | | |
54 | 53 | | |
55 | 54 | | |
56 | 55 | | |
57 | 56 | | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
58 | 86 | | |
59 | 87 | | |
60 | 88 | | |
| |||
0 commit comments