Commit 1b6fdf86 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/jimw/my/mysql-4.1-7156

into  mysql.com:/home/jimw/my/mysql-4.1-clean

parents 53effe94 b34af8cd
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2043,6 +2043,13 @@ AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS

# Test whether madvise() is declared in C++ code -- it is not on some
# systems, such as Solaris
AC_CHECK_DECLS(madvise, [], [], [#if HAVE_SYS_MMAN_H
#include <sys/types.h>
#include <sys/mman.h>
#endif])

# Do not treat warnings as errors if we are linking against other libc
# this is to work around gcc not being permissive on non-system includes
# with respect to ANSI C++
+4 −0
Original line number Diff line number Diff line
@@ -310,6 +310,10 @@ C_MODE_END
#undef setrlimit
#define setrlimit cma_setrlimit64
#endif
/* Declare madvise where it is not declared for C++, like Solaris */
#if HAVE_MADVISE && !HAVE_DECL_MADVISE && defined(__cplusplus)
extern "C" int madvise(void *addr, size_t len, int behav);
#endif

#ifdef __QNXNTO__
/* This has to be after include limits.h */
+2 −2
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ int nisam_extra(N_INFO *info, enum ha_extra_function function)
      break;
    }
#endif
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
#if defined(HAVE_MMAP) && defined(HAVE_MADVISE)
    if ((info->options & HA_OPTION_COMPRESS_RECORD))
    {
      pthread_mutex_lock(&info->s->intern_lock);
@@ -144,7 +144,7 @@ int nisam_extra(N_INFO *info, enum ha_extra_function function)
      info->opt_flag&= ~(READ_CACHE_USED | WRITE_CACHE_USED);
      error=end_io_cache(&info->rec_cache);
    }
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
#if defined(HAVE_MMAP) && defined(HAVE_MADVISE)
    if (info->opt_flag & MEMMAP_USED)
      madvise(info->s->file_map,info->s->state.data_file_length,MADV_RANDOM);
#endif
+3 −3
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
    }
    if (share->base.blobs)
      mi_alloc_rec_buff(info, -1, &info->rec_buff);
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
#if defined(HAVE_MMAP) && defined(HAVE_MADVISE)
    if (info->opt_flag & MEMMAP_USED)
      madvise(share->file_map,share->state.state.data_file_length,MADV_RANDOM);
#endif
@@ -93,7 +93,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
      my_errno=EACCES;
      break;
    }
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
#if defined(HAVE_MMAP) && defined(HAVE_MADVISE)
    if ((share->options & HA_OPTION_COMPRESS_RECORD))
    {
      pthread_mutex_lock(&share->intern_lock);
@@ -177,7 +177,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
      error=end_io_cache(&info->rec_cache);
      /* Sergei will insert full text index caching here */
    }
#if defined(HAVE_MMAP) && defined(HAVE_MADVICE)
#if defined(HAVE_MMAP) && defined(HAVE_MADVISE)
    if (info->opt_flag & MEMMAP_USED)
      madvise(share->file_map,share->state.state.data_file_length,MADV_RANDOM);
#endif
+2 −0
Original line number Diff line number Diff line
@@ -608,7 +608,9 @@ int ha_tina::rnd_init(bool scan)
  current_position= next_position= 0;
  records= 0;
  chain_ptr= chain;
#ifdef HAVE_MADVISE
  (void)madvise(share->mapped_file,share->file_stat.st_size,MADV_SEQUENTIAL);
#endif

  DBUG_RETURN(0);
}