From bcf526b72a540447940ca021750614c1fff15b79 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Dec 2007 13:28:35 +0100 Subject: [PATCH] fixes for make distclean, solaris, macosx, windows BitKeeper/deleted/.del-plug.in: Delete: storage/myisam/plug.in configure.in: MyISAM should be the first plugin in the list for now check for thr_yield, just in case include/my_pthread.h: pthread_yield for windows, solaris, macosx storage/Makefile.am: fix for make distclean (myisam was listed twice in SUBDIRS) --- configure.in | 13 ++++++++++++- include/my_pthread.h | 12 ++++++++++++ storage/Makefile.am | 7 +------ storage/myisam/plug.in | 7 ------- 4 files changed, 25 insertions(+), 14 deletions(-) delete mode 100644 storage/myisam/plug.in diff --git a/configure.in b/configure.in index 5c4c4bd0387..0bfee7cfdc1 100644 --- a/configure.in +++ b/configure.in @@ -1932,7 +1932,7 @@ AC_CHECK_FUNCS(alarm bcmp bfill bmove bsearch bzero \ pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \ realpath rename rint rwlock_init setupterm \ shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \ - sighold sigset sigthreadmask port_create sleep \ + sighold sigset sigthreadmask port_create sleep thr_yield \ snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \ strtol strtoll strtoul strtoull tell tempnam thr_setconcurrency vidattr \ posix_fallocate) @@ -2240,6 +2240,17 @@ MYSQL_CHECK_SSL # functions tested above #-------------------------------------------------------------------- +# MyISAM is declared here,not in storage/myisam/plug.in +# because we want it to be the first in the list of plugins, +# Maria needs it. When it'll be fixed the declaration below can +# be removed and storage/myisam/plug.in - undeleted (bk unrm) +MYSQL_STORAGE_ENGINE(myisam,no, [MyISAM Storage Engine], + [Traditional non-transactional MySQL tables]) +MYSQL_PLUGIN_DIRECTORY(myisam, [storage/myisam]) +MYSQL_PLUGIN_STATIC(myisam, [libmyisam.a]) +MYSQL_PLUGIN_MANDATORY(myisam) dnl Default +MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(myisam, [ha_myisam.cc]) + MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support], [MySQL Partitioning Support], [max,max-no-ndb]) diff --git a/include/my_pthread.h b/include/my_pthread.h index ae44b6b8bfd..b61de3bf2ff 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -171,6 +171,7 @@ void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/ #define pthread_detach_this_thread() #define pthread_condattr_init(A) #define pthread_condattr_destroy(A) +#define pthread_yield() Sleep(0) /* according to MSDN */ #define my_pthread_getprio(thread_id) pthread_dummy(0) @@ -396,6 +397,17 @@ void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size); int my_pthread_mutex_trylock(pthread_mutex_t *mutex); #endif +#if !defined(HAVE_PTHREAD_YIELD_ONE_ARG) && !defined(HAVE_PTHREAD_YIELD_ZERO_ARG) +/* no pthread_yield() available */ +#ifdef HAVE_SCHED_YIELD +#define pthread_yield() sched_yield() +#elif defined(HAVE_PTHREAD_YIELD_NP) /* can be Mac OS X */ +#define pthread_yield() pthread_yield_np() +#elif defined(HAVE_THR_YIELD) +#define pthread_yield() thr_yield() +#endif +#endif + /* The defines set_timespec and set_timespec_nsec should be used for calculating an absolute time at which diff --git a/storage/Makefile.am b/storage/Makefile.am index eec499aabf4..b978453d29d 100644 --- a/storage/Makefile.am +++ b/storage/Makefile.am @@ -19,12 +19,7 @@ AUTOMAKE_OPTIONS = foreign # These are built from source in the Docs directory EXTRA_DIST = -# Until we remove fulltext-related references from Maria to MyISAM -# MyISAM must be built before Maria, which is not the case by default -# because of alphabetical order -# So we put myisam first; this is very ugly regarding plugins' logic -# but it works, and we'll remove it soon. -SUBDIRS = myisam @mysql_se_dirs@ +SUBDIRS = @mysql_se_dirs@ # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/storage/myisam/plug.in b/storage/myisam/plug.in deleted file mode 100644 index 051ec2d54aa..00000000000 --- a/storage/myisam/plug.in +++ /dev/null @@ -1,7 +0,0 @@ -MYSQL_STORAGE_ENGINE(myisam,no, [MyISAM Storage Engine], - [Traditional non-transactional MySQL tables]) -MYSQL_PLUGIN_DIRECTORY(myisam, [storage/myisam]) -MYSQL_PLUGIN_STATIC(myisam, [libmyisam.a]) -MYSQL_PLUGIN_MANDATORY(myisam) dnl Default -MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS(myisam, [ha_myisam.cc]) -