]> git.pld-linux.org Git - packages/mysql.git/blame - mysql-gcc3.patch
- up to 5.0.88
[packages/mysql.git] / mysql-gcc3.patch
CommitLineData
34c3c791
ER
1--- mysql-5.0.81/innobase/include/sync0rw.h~ 2009-05-26 00:35:13.000000000 +0300
2+++ mysql-5.0.81/innobase/include/sync0rw.h 2009-06-16 19:09:27.587270045 +0300
3@@ -421,12 +421,6 @@
4 #ifdef HAVE_ATOMIC_BUILTINS
5 /* This value means NOT_LOCKED */
6 #define RW_LOCK_BIAS 0x00100000
7-#else
8-#error HAVE_ATOMIC_BUILTINS is not defined. Do you use enough new GCC or compatibles?
9-#error Or do you use exact options for CFLAGS?
10-#error e.g. (for x86_32): "-m32 -march=i586 -mtune=i686"
11-#error e.g. (for Sparc_64): "-m64 -mcpu=v9"
12-#error Otherwise, this build may be slower than normal version.
13 #endif
14
15 /* NOTE! The structure appears here only for the compiler to know its size.
45532174
ER
16
17
18
19NOTE: this chunk is to fix buggy percona patch:
20--- mysql-5.0.83/innobase/sync/sync0rw.c~ 2009-07-16 12:43:34.863559101 +0300
21+++ mysql-5.0.83/innobase/sync/sync0rw.c 2009-07-16 13:01:55.553904932 +0300
22@@ -626,10 +626,14 @@
23 } else if (state == RW_LOCK_NOT_LOCKED) {
24
25 /* Spin waiting for the writer field to become free */
26-
27+#ifdef HAVE_ATOMIC_BUILTINS
28 while (i < SYNC_SPIN_ROUNDS
29 && lock->lock_word != RW_LOCK_BIAS) {
30- if (srv_spin_wait_delay) {
31+#else
32+ while (rw_lock_get_writer(lock) != RW_LOCK_NOT_LOCKED
33+ && i < SYNC_SPIN_ROUNDS) {
34+#endif
35+ if (srv_spin_wait_delay) {
36 ut_delay(ut_rnd_interval(0,
37 srv_spin_wait_delay));
38 }
This page took 0.060531 seconds and 4 git commands to generate.