Commit ed7d607
Detect I/O errors and signals when writing marshalled data
PyMarshal_WriteObjectToFile() and PyMarshal_WriteLongToFile() now set the
error indicator when writing to the underlying FILE* fails or is interrupted
by a signal, instead of ignoring the failure. PyMarshal_WriteObjectToFile()
now also sets the error indicator when the value cannot be marshalled.
r_byte() no longer replaces an exception raised by a signal handler with
EOFError.
Document which exceptions the marshalling functions can raise.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 1a321fb commit ed7d607
7 files changed
Lines changed: 130 additions & 35 deletions
File tree
- Doc
- c-api
- whatsnew
- Lib/test
- Misc/NEWS.d/next
- C_API
- Core_and_Builtins
- Modules
- Python
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
19 | 33 | | |
20 | 34 | | |
21 | 35 | | |
| |||
42 | 56 | | |
43 | 57 | | |
44 | 58 | | |
| 59 | + | |
| 60 | + | |
45 | 61 | | |
46 | 62 | | |
47 | 63 | | |
| |||
52 | 68 | | |
53 | 69 | | |
54 | 70 | | |
55 | | - | |
| 71 | + | |
56 | 72 | | |
57 | 73 | | |
58 | 74 | | |
| |||
61 | 77 | | |
62 | 78 | | |
63 | 79 | | |
64 | | - | |
| 80 | + | |
65 | 81 | | |
66 | 82 | | |
67 | 83 | | |
68 | 84 | | |
69 | 85 | | |
70 | 86 | | |
71 | 87 | | |
72 | | - | |
| 88 | + | |
73 | 89 | | |
74 | 90 | | |
75 | 91 | | |
| |||
82 | 98 | | |
83 | 99 | | |
84 | 100 | | |
85 | | - | |
| 101 | + | |
86 | 102 | | |
87 | 103 | | |
88 | 104 | | |
89 | 105 | | |
90 | 106 | | |
91 | 107 | | |
92 | 108 | | |
93 | | - | |
| 109 | + | |
94 | 110 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
909 | 909 | | |
910 | 910 | | |
911 | 911 | | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
912 | 926 | | |
913 | 927 | | |
914 | 928 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
806 | 806 | | |
807 | 807 | | |
808 | 808 | | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
809 | 825 | | |
810 | 826 | | |
811 | 827 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 0 additions & 3 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1435 | 1435 | | |
1436 | 1436 | | |
1437 | 1437 | | |
1438 | | - | |
1439 | 1438 | | |
1440 | 1439 | | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
1441 | 1443 | | |
1442 | 1444 | | |
1443 | 1445 | | |
| |||
1459 | 1461 | | |
1460 | 1462 | | |
1461 | 1463 | | |
1462 | | - | |
1463 | 1464 | | |
1464 | 1465 | | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
1465 | 1469 | | |
1466 | 1470 | | |
1467 | 1471 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| 109 | + | |
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
| |||
125 | 126 | | |
126 | 127 | | |
127 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
128 | 147 | | |
129 | 148 | | |
130 | 149 | | |
131 | 150 | | |
132 | | - | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
133 | 155 | | |
134 | 156 | | |
135 | 157 | | |
| |||
182 | 204 | | |
183 | 205 | | |
184 | 206 | | |
185 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
186 | 210 | | |
187 | 211 | | |
188 | 212 | | |
| |||
782 | 806 | | |
783 | 807 | | |
784 | 808 | | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
785 | 838 | | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | 839 | | |
791 | 840 | | |
792 | 841 | | |
| |||
800 | 849 | | |
801 | 850 | | |
802 | 851 | | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
803 | 855 | | |
804 | 856 | | |
805 | 857 | | |
| |||
823 | 875 | | |
824 | 876 | | |
825 | 877 | | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
826 | 881 | | |
827 | 882 | | |
828 | 883 | | |
| |||
930 | 985 | | |
931 | 986 | | |
932 | 987 | | |
933 | | - | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
934 | 992 | | |
935 | 993 | | |
936 | 994 | | |
| |||
1958 | 2016 | | |
1959 | 2017 | | |
1960 | 2018 | | |
1961 | | - | |
1962 | | - | |
1963 | | - | |
1964 | | - | |
1965 | | - | |
1966 | | - | |
1967 | | - | |
1968 | | - | |
1969 | | - | |
1970 | | - | |
1971 | | - | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
1975 | | - | |
1976 | | - | |
1977 | | - | |
1978 | | - | |
| 2019 | + | |
1979 | 2020 | | |
1980 | 2021 | | |
1981 | 2022 | | |
| |||
0 commit comments