Repository navigation
Commit f1bb32a
Restore dependent reload list when an evaluation is rolled back
When the unload of a module triggers the unload phase of several
dependent modules and one of them fails, the evaluation is rolled back
but the dependent reload list keeps the modules queued before the
failure. Their properties were never saved as the unload phase stopped
before reaching them. If the sequence then continues, like a switch
with switch_unload absent from abort_on_error, the reload phase looks up
these missing properties and raises an internal Tcl error.
Save the dependent reload list and the saved properties of reloading
modules along with the other settings pushed before an evaluation, so a
rollback restores them to their state prior the failed evaluation.
Dependents restored in the loaded environment by this rollback are thus
not reloaded anymore.
Assisted-by: Claude:claude-fable-5-1
Signed-off-by: Adrien Cotte <adrien.cotte@asplus.fr>
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>1 parent 894efe8 commit f1bb32a
3 files changed
Lines changed: 35 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
270 | 275 | | |
271 | 276 | | |
272 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
596 | | - | |
| 596 | + | |
597 | 597 | | |
598 | 598 | | |
599 | 599 | | |
| |||
605 | 605 | | |
606 | 606 | | |
607 | 607 | | |
608 | | - | |
| 608 | + | |
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
878 | 878 | | |
879 | 879 | | |
880 | 880 | | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
881 | 909 | | |
882 | 910 | | |
883 | 911 | | |
| |||
0 commit comments