Commit 26c6e3d
authored
Avoid racing with the owning thread's refcount operations when
immortalizing an interned string: if we don't own it and its refcount
isn't merged, intern a copy we own instead. Use atomic stores in
_Py_SetImmortalUntracked so concurrent atomic reads are race-free.
(cherry picked from commit 4629c22)
1 parent 31ba91a commit 26c6e3d
4 files changed
Lines changed: 77 additions & 11 deletions
File tree
- Lib/test/test_free_threading
- Misc/NEWS.d/next/Core_and_Builtins
- Objects
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
2 | 4 | | |
3 | 5 | | |
4 | | - | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
69 | 71 | | |
70 | 72 | | |
71 | 73 | | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
72 | 92 | | |
73 | 93 | | |
74 | 94 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2685 | 2685 | | |
2686 | 2686 | | |
2687 | 2687 | | |
2688 | | - | |
2689 | | - | |
2690 | | - | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
2691 | 2691 | | |
2692 | 2692 | | |
2693 | 2693 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
676 | 676 | | |
677 | 677 | | |
678 | 678 | | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
679 | 687 | | |
680 | 688 | | |
681 | 689 | | |
| |||
756 | 764 | | |
757 | 765 | | |
758 | 766 | | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
764 | 770 | | |
765 | 771 | | |
766 | 772 | | |
| |||
770 | 776 | | |
771 | 777 | | |
772 | 778 | | |
773 | | - | |
| 779 | + | |
774 | 780 | | |
775 | 781 | | |
776 | 782 | | |
777 | 783 | | |
778 | | - | |
| 784 | + | |
779 | 785 | | |
780 | 786 | | |
781 | 787 | | |
| 788 | + | |
782 | 789 | | |
783 | 790 | | |
784 | 791 | | |
| 792 | + | |
785 | 793 | | |
786 | 794 | | |
787 | 795 | | |
| |||
15961 | 15969 | | |
15962 | 15970 | | |
15963 | 15971 | | |
| 15972 | + | |
| 15973 | + | |
| 15974 | + | |
| 15975 | + | |
| 15976 | + | |
| 15977 | + | |
| 15978 | + | |
| 15979 | + | |
| 15980 | + | |
| 15981 | + | |
| 15982 | + | |
| 15983 | + | |
15964 | 15984 | | |
15965 | 15985 | | |
15966 | 15986 | | |
| |||
15989 | 16009 | | |
15990 | 16010 | | |
15991 | 16011 | | |
| 16012 | + | |
15992 | 16013 | | |
15993 | 16014 | | |
15994 | 16015 | | |
15995 | 16016 | | |
15996 | 16017 | | |
| 16018 | + | |
| 16019 | + | |
| 16020 | + | |
| 16021 | + | |
15997 | 16022 | | |
15998 | 16023 | | |
15999 | 16024 | | |
| |||
16057 | 16082 | | |
16058 | 16083 | | |
16059 | 16084 | | |
| 16085 | + | |
| 16086 | + | |
| 16087 | + | |
| 16088 | + | |
| 16089 | + | |
| 16090 | + | |
| 16091 | + | |
| 16092 | + | |
| 16093 | + | |
| 16094 | + | |
| 16095 | + | |
| 16096 | + | |
| 16097 | + | |
| 16098 | + | |
| 16099 | + | |
| 16100 | + | |
| 16101 | + | |
16060 | 16102 | | |
16061 | 16103 | | |
16062 | 16104 | | |
| |||
0 commit comments