forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5882ca6
committed
Call xlc __isync() after, not before, associated compare-and-swap.
Architecture reference material specifies this order, and s_lock.hinline assembly agrees. The former order failed to provide mutualexclusion to lwlock.c and perhaps to other clients. The two xlcbuildfarm members, hornet and mandrill, have failed sixteen times withduplicate key errors involving pg_class_oid_index or pg_type_oid_index.Back-patch to 9.5, where commitb64d92fintroduced atomics.Reviewed by Andres Freund and Tom Lane.1 parent481725c commit5882ca6
File tree
5 files changed
+47
-8
lines changed- src
- bin/pgbench
- t
- include/port/atomics
- tools/msvc
5 files changed
+47
-8
lines changedLines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 | 3 |
| |
| 4 | + |
Lines changed: 6 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
40 | 40 |
| |
41 | 41 |
| |
42 | 42 |
| |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + |
Lines changed: 25 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + |
Lines changed: 14 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
40 | 40 |
| |
41 | 41 |
| |
42 | 42 |
| |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
43 | 50 |
| |
44 | 51 |
| |
45 | 52 |
| |
46 | 53 |
| |
| 54 | + | |
| 55 | + | |
47 | 56 |
| |
48 | 57 |
| |
49 | 58 |
| |
50 |
| - | |
51 |
| - | |
52 |
| - | |
53 |
| - | |
54 |
| - | |
55 |
| - | |
| 59 | + | |
56 | 60 |
| |
57 | 61 |
| |
58 | 62 |
| |
| |||
69 | 73 |
| |
70 | 74 |
| |
71 | 75 |
| |
| 76 | + | |
| 77 | + | |
| 78 | + | |
72 | 79 |
| |
73 | 80 |
| |
74 |
| - | |
75 |
| - | |
| 81 | + | |
76 | 82 |
| |
77 | 83 |
| |
78 | 84 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
94 | 94 |
| |
95 | 95 |
| |
96 | 96 |
| |
| 97 | + | |
97 | 98 |
| |
98 | 99 |
| |
99 | 100 |
| |
|
0 commit comments
Comments
(0)