summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-05-28 02:00:34 +0300
committerunknown <monty@mysql.com>2004-05-28 02:00:34 +0300
commit3b36f93e57cd2f4512998364ce65e0d265d722d6 (patch)
tree0172cde8317cee600aceb317663b2c13ce7701f0
parent59d93c3236da251b6c0840e513f3b206cb13afb3 (diff)
downloadmariadb-git-3b36f93e57cd2f4512998364ce65e0d265d722d6.tar.gz
Portability fix for HPUX
configure.in: Ensure that innodb gets system specific CFLAGS and CXXFLAGS innobase/os/os0file.c: Don't use pread/pwrite on systems where these are not working. This fixes a bug on HPUX, where InnoDB didn't create the ibdata1 file correctly.
-rw-r--r--configure.in3
-rw-r--r--innobase/os/os0file.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index 29a887076ac..f2b66d1e09d 100644
--- a/configure.in
+++ b/configure.in
@@ -2484,6 +2484,9 @@ AC_SUBST(netware_dir)
AC_SUBST(linked_netware_sources)
AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware")
+# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS
+export CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR
+
if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no"
then
AC_DEFINE(THREAD)
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index 81566337218..681c4e487e7 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -1111,7 +1111,7 @@ os_file_pread(
os_n_file_reads++;
-#ifdef HAVE_PREAD
+#if defined(HAVE_PREAD) && !defined(HAVE_BROKEN_PREAD)
os_mutex_enter(os_file_count_mutex);
os_file_n_pending_preads++;
os_mutex_exit(os_file_count_mutex);
@@ -1186,7 +1186,7 @@ os_file_pwrite(
os_n_file_writes++;
-#ifdef HAVE_PWRITE
+#if defined(HAVE_PWRITE) && !defined(HAVE_BROKEN_PREAD)
os_mutex_enter(os_file_count_mutex);
os_file_n_pending_pwrites++;
os_mutex_exit(os_file_count_mutex);