]> git.pld-linux.org Git - packages/mysql.git/blob - mysql-gcc3.patch
- expire-logs-days sample
[packages/mysql.git] / mysql-gcc3.patch
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.
16
17
18
19 NOTE: 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.030539 seconds and 3 git commands to generate.