Commit a1c25ff
authored
URLSessionWebSocketTask.receive() not finishing if server closes connection without a close packet (#4673)
Allow _WebSocketURLProtocol to detect a closing URL connection, and set its state to indicate this is a normal close of the connection.
Kick off URLSessionWebSocketTask doPendingWork() if the connection is closed out due to an error, in order to respond to any pending Tasks parked in receive().1 parent 9d8da69 commit a1c25ff
File tree
5 files changed
+168
-30
lines changed- Sources/FoundationNetworking/URLSession
- WebSocket
- Tests/Foundation
- Tests
5 files changed
+168
-30
lines changedLines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
703 | 703 | | |
704 | 704 | | |
705 | 705 | | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
706 | 712 | | |
707 | 713 | | |
708 | 714 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
91 | 98 | | |
92 | 99 | | |
93 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
912 | 912 | | |
913 | 913 | | |
914 | 914 | | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
915 | 918 | | |
916 | | - | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
917 | 937 | | |
918 | 938 | | |
919 | 939 | | |
| |||
922 | 942 | | |
923 | 943 | | |
924 | 944 | | |
925 | | - | |
926 | | - | |
| 945 | + | |
| 946 | + | |
927 | 947 | | |
928 | 948 | | |
| 949 | + | |
| 950 | + | |
929 | 951 | | |
930 | 952 | | |
931 | 953 | | |
| |||
940 | 962 | | |
941 | 963 | | |
942 | 964 | | |
| 965 | + | |
| 966 | + | |
943 | 967 | | |
944 | 968 | | |
945 | 969 | | |
946 | | - | |
947 | 970 | | |
948 | 971 | | |
949 | 972 | | |
| |||
981 | 1004 | | |
982 | 1005 | | |
983 | 1006 | | |
984 | | - | |
985 | | - | |
986 | | - | |
987 | | - | |
988 | | - | |
989 | | - | |
990 | | - | |
991 | | - | |
992 | | - | |
993 | | - | |
994 | | - | |
995 | | - | |
996 | | - | |
997 | | - | |
998 | | - | |
999 | | - | |
1000 | 1007 | | |
1001 | 1008 | | |
1002 | | - | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
1008 | 1018 | | |
1009 | 1019 | | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
1010 | 1037 | | |
1011 | 1038 | | |
1012 | 1039 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1894 | 1894 | | |
1895 | 1895 | | |
1896 | 1896 | | |
1897 | | - | |
| 1897 | + | |
1898 | 1898 | | |
1899 | 1899 | | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
1900 | 1908 | | |
1901 | 1909 | | |
1902 | 1910 | | |
| |||
1925 | 1933 | | |
1926 | 1934 | | |
1927 | 1935 | | |
| 1936 | + | |
1928 | 1937 | | |
1929 | 1938 | | |
1930 | 1939 | | |
1931 | 1940 | | |
1932 | 1941 | | |
1933 | 1942 | | |
1934 | 1943 | | |
1935 | | - | |
1936 | 1944 | | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
1937 | 2028 | | |
1938 | 2029 | | |
1939 | 2030 | | |
| |||
2011 | 2102 | | |
2012 | 2103 | | |
2013 | 2104 | | |
| 2105 | + | |
| 2106 | + | |
2014 | 2107 | | |
2015 | 2108 | | |
2016 | 2109 | | |
| |||
0 commit comments