Commit 71e6137
committed
Fix four concurrency races exposed by race-clean integration tests
- daemon.WebhookClient: Close() no longer closes the event channel, which
could race with a concurrent Emit() ending in send-on-closed-channel
panic; run() now drains and exits via the closed signal instead
- daemon.ManagedEngine.persist / PolicyRunner.persist: snapshot peers via
a new clonePeersLocked helper so json.Marshal cannot observe concurrent
map writes after the RLock is released
- registry.Server.flushSave: deep-copy mutable node and network slices
(Networks, Tags, LANAddrs, Members, MemberRoles, MemberTags, AllowedPorts)
under RLock; replace rawNetCopy pointer-to-NetworkInfo with a value type
so Phase 2 encoding no longer races with handleRegister/handleDeregister1 parent 2cfb652 commit 71e6137
4 files changed
Lines changed: 113 additions & 36 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
53 | 74 | | |
54 | 75 | | |
55 | 76 | | |
| |||
416 | 437 | | |
417 | 438 | | |
418 | 439 | | |
419 | | - | |
| 440 | + | |
420 | 441 | | |
421 | 442 | | |
422 | 443 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
780 | 780 | | |
781 | 781 | | |
782 | 782 | | |
783 | | - | |
| 783 | + | |
784 | 784 | | |
785 | 785 | | |
786 | 786 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
142 | 141 | | |
143 | 142 | | |
144 | 143 | | |
| |||
149 | 148 | | |
150 | 149 | | |
151 | 150 | | |
152 | | - | |
153 | | - | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
154 | 165 | | |
155 | 166 | | |
156 | 167 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5755 | 5755 | | |
5756 | 5756 | | |
5757 | 5757 | | |
5758 | | - | |
| 5758 | + | |
| 5759 | + | |
| 5760 | + | |
5759 | 5761 | | |
5760 | 5762 | | |
5761 | 5763 | | |
5762 | 5764 | | |
5763 | 5765 | | |
5764 | 5766 | | |
5765 | 5767 | | |
5766 | | - | |
| 5768 | + | |
5767 | 5769 | | |
5768 | 5770 | | |
5769 | 5771 | | |
5770 | | - | |
| 5772 | + | |
5771 | 5773 | | |
5772 | 5774 | | |
5773 | | - | |
| 5775 | + | |
5774 | 5776 | | |
5775 | 5777 | | |
5776 | 5778 | | |
5777 | 5779 | | |
5778 | 5780 | | |
5779 | 5781 | | |
5780 | | - | |
| 5782 | + | |
| 5783 | + | |
| 5784 | + | |
5781 | 5785 | | |
5782 | | - | |
| 5786 | + | |
| 5787 | + | |
| 5788 | + | |
| 5789 | + | |
| 5790 | + | |
| 5791 | + | |
| 5792 | + | |
| 5793 | + | |
| 5794 | + | |
| 5795 | + | |
| 5796 | + | |
| 5797 | + | |
| 5798 | + | |
| 5799 | + | |
5783 | 5800 | | |
5784 | 5801 | | |
5785 | 5802 | | |
5786 | | - | |
| 5803 | + | |
| 5804 | + | |
| 5805 | + | |
| 5806 | + | |
| 5807 | + | |
| 5808 | + | |
| 5809 | + | |
| 5810 | + | |
| 5811 | + | |
| 5812 | + | |
| 5813 | + | |
| 5814 | + | |
| 5815 | + | |
| 5816 | + | |
| 5817 | + | |
| 5818 | + | |
| 5819 | + | |
| 5820 | + | |
| 5821 | + | |
| 5822 | + | |
| 5823 | + | |
| 5824 | + | |
| 5825 | + | |
| 5826 | + | |
| 5827 | + | |
| 5828 | + | |
| 5829 | + | |
| 5830 | + | |
| 5831 | + | |
| 5832 | + | |
5787 | 5833 | | |
5788 | 5834 | | |
5789 | 5835 | | |
| |||
5918 | 5964 | | |
5919 | 5965 | | |
5920 | 5966 | | |
5921 | | - | |
5922 | | - | |
| 5967 | + | |
| 5968 | + | |
5923 | 5969 | | |
5924 | | - | |
5925 | | - | |
5926 | | - | |
5927 | | - | |
5928 | | - | |
5929 | | - | |
5930 | | - | |
5931 | | - | |
5932 | | - | |
5933 | | - | |
5934 | | - | |
5935 | | - | |
5936 | | - | |
| 5970 | + | |
| 5971 | + | |
| 5972 | + | |
| 5973 | + | |
| 5974 | + | |
| 5975 | + | |
| 5976 | + | |
| 5977 | + | |
| 5978 | + | |
| 5979 | + | |
| 5980 | + | |
| 5981 | + | |
| 5982 | + | |
5937 | 5983 | | |
5938 | 5984 | | |
5939 | 5985 | | |
5940 | | - | |
5941 | | - | |
5942 | | - | |
| 5986 | + | |
| 5987 | + | |
| 5988 | + | |
5943 | 5989 | | |
5944 | 5990 | | |
5945 | 5991 | | |
5946 | | - | |
5947 | | - | |
5948 | | - | |
| 5992 | + | |
| 5993 | + | |
5949 | 5994 | | |
5950 | 5995 | | |
5951 | | - | |
5952 | | - | |
5953 | | - | |
| 5996 | + | |
| 5997 | + | |
| 5998 | + | |
5954 | 5999 | | |
5955 | 6000 | | |
5956 | 6001 | | |
| |||
0 commit comments