Commit ffcd1e1
authored
Fixes double-release of a connection. (#295)
Motivation:
TaskHandler unconditionally releases it's connection on error,
this can lead to double release. This issue actually indicates
a more general issue where handler continues to handle errors
even after its state is `.endOrError`. We need to fix this by
ignoring all subsequent errors.
Modifications:
1. Check state before calling out delegate and pool
2. Replace all error callouts with call to `errorCaught`
Result:
Fixes #2941 parent 1432843 commit ffcd1e1
File tree
5 files changed
+84
-29
lines changed- Sources/AsyncHTTPClient
- Tests/AsyncHTTPClientTests
5 files changed
+84
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
814 | 814 | | |
815 | 815 | | |
816 | 816 | | |
| 817 | + | |
817 | 818 | | |
818 | | - | |
819 | | - | |
820 | 819 | | |
821 | 820 | | |
822 | 821 | | |
| |||
843 | 842 | | |
844 | 843 | | |
845 | 844 | | |
846 | | - | |
847 | 845 | | |
848 | | - | |
| 846 | + | |
849 | 847 | | |
850 | 848 | | |
851 | 849 | | |
| |||
855 | 853 | | |
856 | 854 | | |
857 | 855 | | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
| 856 | + | |
865 | 857 | | |
866 | 858 | | |
867 | 859 | | |
| |||
906 | 898 | | |
907 | 899 | | |
908 | 900 | | |
909 | | - | |
910 | | - | |
| 901 | + | |
911 | 902 | | |
912 | 903 | | |
913 | 904 | | |
914 | 905 | | |
915 | 906 | | |
916 | 907 | | |
917 | 908 | | |
918 | | - | |
919 | | - | |
| 909 | + | |
920 | 910 | | |
921 | 911 | | |
922 | 912 | | |
| |||
983 | 973 | | |
984 | 974 | | |
985 | 975 | | |
986 | | - | |
987 | | - | |
| 976 | + | |
988 | 977 | | |
989 | 978 | | |
990 | 979 | | |
991 | 980 | | |
992 | 981 | | |
993 | | - | |
994 | | - | |
995 | | - | |
| 982 | + | |
996 | 983 | | |
997 | 984 | | |
998 | 985 | | |
999 | 986 | | |
1000 | 987 | | |
1001 | 988 | | |
1002 | 989 | | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
| 990 | + | |
1006 | 991 | | |
1007 | 992 | | |
1008 | 993 | | |
| |||
1014 | 999 | | |
1015 | 1000 | | |
1016 | 1001 | | |
1017 | | - | |
1018 | | - | |
1019 | | - | |
| 1002 | + | |
1020 | 1003 | | |
1021 | 1004 | | |
1022 | 1005 | | |
| |||
1038 | 1021 | | |
1039 | 1022 | | |
1040 | 1023 | | |
1041 | | - | |
1042 | | - | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
1043 | 1032 | | |
1044 | 1033 | | |
1045 | 1034 | | |
1046 | 1035 | | |
1047 | 1036 | | |
1048 | | - | |
| 1037 | + | |
1049 | 1038 | | |
1050 | 1039 | | |
1051 | 1040 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1080 | 1080 | | |
1081 | 1081 | | |
1082 | 1082 | | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
1083 | 1122 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
125 | 126 | | |
126 | 127 | | |
127 | 128 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2602 | 2602 | | |
2603 | 2603 | | |
2604 | 2604 | | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
2605 | 2630 | | |
0 commit comments