summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@sergbook.mysql.com>2005-01-06 17:40:00 +0200
committerunknown <serg@sergbook.mysql.com>2005-01-06 17:40:00 +0200
commit4532a89f0dc9d091dcfb408d0b225d118a9576f6 (patch)
treea623d3e82efd887c87ed3b4e00b0259e047614cf
parent1d6a4a54c7f6454dbf449c7e6807f7d3eae4a283 (diff)
parent574a2820cffb313eed606ff6e01162356a4bc3c4 (diff)
downloadmariadb-git-4532a89f0dc9d091dcfb408d0b225d118a9576f6.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
-rwxr-xr-xBUILD/compile-dist1
-rw-r--r--include/my_pthread.h2
-rw-r--r--innobase/os/os0file.c16
-rw-r--r--mysys/my_sleep.c2
-rw-r--r--sql/sql_parse.cc1
5 files changed, 20 insertions, 2 deletions
diff --git a/BUILD/compile-dist b/BUILD/compile-dist
index f27c218747c..7c177f54258 100755
--- a/BUILD/compile-dist
+++ b/BUILD/compile-dist
@@ -43,5 +43,6 @@ fi
--with-berkeley-db \
--with-innodb \
--enable-thread-safe-client \
+ --with-extra-charsets=complex \
--with-ndbcluster
make
diff --git a/include/my_pthread.h b/include/my_pthread.h
index cd0cf49a891..c4138a47b3c 100644
--- a/include/my_pthread.h
+++ b/include/my_pthread.h
@@ -631,6 +631,7 @@ extern int pthread_dummy(int);
/* All thread specific variables are in the following struct */
#define THREAD_NAME_SIZE 10
+#ifndef DEFAULT_THREAD_STACK
#if defined(__ia64__)
/*
MySQL can survive with 32K, but some glibc libraries require > 128K stack
@@ -640,6 +641,7 @@ extern int pthread_dummy(int);
#else
#define DEFAULT_THREAD_STACK (192*1024)
#endif
+#endif
struct st_my_thread_var
{
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index aa45030d93b..f02b81b8fd8 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -1763,7 +1763,21 @@ os_file_flush(
#else
int ret;
-#ifdef HAVE_FDATASYNC
+#ifdef HAVE_DARWIN_THREADS
+ /* Apple has disabled fsync() for internal disk drives in OS X. That
+ caused corruption for a user when he tested a power outage. Let us in
+ OS X use a nonstandard flush method recommended by an Apple
+ engineer. */
+
+ ret = fcntl(file, F_FULLFSYNC, NULL);
+
+ if (ret) {
+ /* If we are not on a file system that supports this, then
+ fall back to a plain fsync. */
+
+ ret = fsync(file);
+ }
+#elif HAVE_FDATASYNC
ret = fdatasync(file);
#else
/* fprintf(stderr, "Flushing to file %p\n", file); */
diff --git a/mysys/my_sleep.c b/mysys/my_sleep.c
index 3de2d2abd13..31eaf7eeb96 100644
--- a/mysys/my_sleep.c
+++ b/mysys/my_sleep.c
@@ -23,6 +23,8 @@ void my_sleep(ulong m_seconds)
{
#ifdef __NETWARE__
delay(m_seconds/1000+1);
+#elif defined(__WIN__)
+ Sleep(m_seconds/1000+1); /* Sleep() has millisecond arg */
#elif defined(OS2)
DosSleep(m_seconds/1000+1);
#elif defined(HAVE_SELECT)
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 55d26a68116..cd8e73c446d 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -2429,7 +2429,6 @@ mysql_execute_command(THD *thd)
create_table_local);
break;
-create_error:
res= 1; //error reported
unsent_create_error:
// put tables back for PS rexecuting