Commit 7cb43f2
patch 9.2.0254: w_locked can be bypassed when setting recursively
Problem: w_locked can be bypassed when recursively set if not restored
to its prior value.
Solution: Rather than save/restore everywhere, just make it a count,
like other locks (Sean Dewar)
Requires the previous commit, otherwise b_nwindows will be wrong in
tests, which causes a bunch of weird failures.
closes: #19728
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>1 parent bf21df1 commit 7cb43f2
7 files changed
Lines changed: 45 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
203 | | - | |
| 203 | + | |
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| |||
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
215 | | - | |
| 215 | + | |
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| |||
373 | 373 | | |
374 | 374 | | |
375 | 375 | | |
376 | | - | |
| 376 | + | |
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
| 385 | + | |
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | 83 | | |
85 | | - | |
86 | | - | |
| 84 | + | |
| 85 | + | |
87 | 86 | | |
88 | 87 | | |
89 | 88 | | |
90 | | - | |
91 | | - | |
| 89 | + | |
| 90 | + | |
92 | 91 | | |
93 | 92 | | |
94 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3082 | 3082 | | |
3083 | 3083 | | |
3084 | 3084 | | |
3085 | | - | |
| 3085 | + | |
3086 | 3086 | | |
3087 | 3087 | | |
3088 | 3088 | | |
| |||
3097 | 3097 | | |
3098 | 3098 | | |
3099 | 3099 | | |
3100 | | - | |
| 3100 | + | |
3101 | 3101 | | |
3102 | 3102 | | |
3103 | 3103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3736 | 3736 | | |
3737 | 3737 | | |
3738 | 3738 | | |
3739 | | - | |
| 3739 | + | |
3740 | 3740 | | |
3741 | 3741 | | |
3742 | | - | |
| 3742 | + | |
3743 | 3743 | | |
3744 | 3744 | | |
3745 | 3745 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2496 | 2496 | | |
2497 | 2497 | | |
2498 | 2498 | | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
| 2521 | + | |
| 2522 | + | |
| 2523 | + | |
2499 | 2524 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
734 | 734 | | |
735 | 735 | | |
736 | 736 | | |
| 737 | + | |
| 738 | + | |
737 | 739 | | |
738 | 740 | | |
739 | 741 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2717 | 2717 | | |
2718 | 2718 | | |
2719 | 2719 | | |
2720 | | - | |
| 2720 | + | |
2721 | 2721 | | |
2722 | 2722 | | |
2723 | | - | |
| 2723 | + | |
2724 | 2724 | | |
2725 | 2725 | | |
2726 | 2726 | | |
| |||
2823 | 2823 | | |
2824 | 2824 | | |
2825 | 2825 | | |
2826 | | - | |
| 2826 | + | |
2827 | 2827 | | |
2828 | 2828 | | |
2829 | 2829 | | |
2830 | | - | |
| 2830 | + | |
2831 | 2831 | | |
2832 | 2832 | | |
2833 | 2833 | | |
2834 | | - | |
| 2834 | + | |
2835 | 2835 | | |
2836 | 2836 | | |
2837 | 2837 | | |
2838 | | - | |
| 2838 | + | |
2839 | 2839 | | |
2840 | 2840 | | |
2841 | 2841 | | |
| |||
0 commit comments