Commit 2918926
committed
Fix pipe transport double-close of the underlying fd
connect_read_pipe and connect_write_pipe passed the Python file
object's fd to libuv, which takes ownership and closes it. Closing
the file object later (or GC) then closed the same fd again, which
can steal a recycled descriptor.
Dup the fd before uv_pipe_open so libuv and the file object each
own a distinct descriptor.1 parent e8efea4 commit 2918926
2 files changed
Lines changed: 107 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
274 | 355 | | |
275 | 356 | | |
276 | 357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2862 | 2862 | | |
2863 | 2863 | | |
2864 | 2864 | | |
| 2865 | + | |
| 2866 | + | |
2865 | 2867 | | |
2866 | 2868 | | |
2867 | 2869 | | |
2868 | 2870 | | |
2869 | 2871 | | |
| 2872 | + | |
| 2873 | + | |
| 2874 | + | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
2870 | 2878 | | |
2871 | | - | |
| 2879 | + | |
| 2880 | + | |
2872 | 2881 | | |
2873 | 2882 | | |
2874 | 2883 | | |
| 2884 | + | |
| 2885 | + | |
2875 | 2886 | | |
2876 | 2887 | | |
| 2888 | + | |
| 2889 | + | |
2877 | 2890 | | |
2878 | 2891 | | |
2879 | 2892 | | |
| |||
2889 | 2902 | | |
2890 | 2903 | | |
2891 | 2904 | | |
| 2905 | + | |
| 2906 | + | |
2892 | 2907 | | |
2893 | 2908 | | |
2894 | 2909 | | |
2895 | 2910 | | |
2896 | 2911 | | |
| 2912 | + | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
2897 | 2916 | | |
2898 | | - | |
| 2917 | + | |
| 2918 | + | |
2899 | 2919 | | |
2900 | 2920 | | |
2901 | 2921 | | |
| 2922 | + | |
| 2923 | + | |
2902 | 2924 | | |
2903 | 2925 | | |
| 2926 | + | |
| 2927 | + | |
2904 | 2928 | | |
2905 | 2929 | | |
2906 | 2930 | | |
| |||
0 commit comments