- Notifications
You must be signed in to change notification settings - Fork28
Commit1d93d18
committed
Fix race in dsm_unpin_segment() when handles are reused.
Teach dsm_unpin_segment() to skip segments that are in the processof being destroyed by another backend, when searching for a handle.Such a segment cannot possibly be the one we are looking for, evenif its handle matches. Another slot might hold a recently createdsegment that has the same handle value by coincidence, and we needto keep searching for that one.The bug caused rare "cannot unpin a segment that is not pinned"errors on 10 and 11. Similar to commit6c0fb94 for dsm_attach().Back-patch to 10, where dsm_unpin_segment() landed.Author: Thomas MunroReported-by: Justin PryzbyTested-by: Justin Pryzby (along with other recent DSA/DSM fixes)Discussion:https://postgr.es/m/20190216023854.GF30291@telsasoft.com1 parent7f39f03 commit1d93d18
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
891 | 891 | | |
892 | 892 | | |
893 | 893 | | |
894 | | - | |
895 | | - | |
| 894 | + | |
| 895 | + | |
896 | 896 | | |
897 | 897 | | |
898 | 898 | | |
| |||
0 commit comments
Comments
(0)