Commit ba0301d
committed
Revert readonly_state; fix is fully in clear_deleteme_list
Greenlet construction (green_new, green_unswitchable_new) must also
trigger clear_deleteme_list because existing code and tests depend
on it for cross-thread cleanup (e.g. test_dealloc_other_thread uses
RawGreenlet() to trigger deleteme processing).
With std::swap + exception preservation in clear_deleteme_list,
the crash and exception-loss bugs are fixed at the source.
The readonly_state / const borrow_current utilities are no longer
needed and are removed.
Made-with: Cursor1 parent 8e57397 commit ba0301d
4 files changed
Lines changed: 2 additions & 26 deletions
File tree
- src/greenlet
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | 260 | | |
270 | 261 | | |
271 | 262 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | 78 | | |
94 | 79 | | |
95 | 80 | | |
| |||
0 commit comments