mirror of
https://github.com/MariaDB/server.git
synced 2026-04-22 08:15:31 +02:00
This is a backport of code from MySQL 6.0 with cleanups and extensions The following new options are supported configure options: --with-libevent ; Enable use of libevent, which is needed for pool of threads mysqld options: --thread-handling=pool-of-threads ; Use a pool of threads to handle queries --thread-pool-size=# ; Define how many threads should be created to handle all queries --extra-port=# ; Extra tcp port that uses the old one-thread-per-connection method --extra-max-connections=# ; Number of connections to accept to 'extra-port' --test-ignore-wrong-options ; Ignore setting an enum value to a wrong option (for mysql-test-run) BUILD/SETUP.sh: Added libevents (and thus pool-of-threads) to max builds CMakeLists.txt: Added libevent Makefile.am: Added libevents config/ac-macros/libevent.m4: Libevent code for configure config/ac-macros/libevent_configure.m4: Libevent code for configure configure.in: Added libevents dbug/dbug.c: Added _db_is_pushed(); Needed for pool-of-threads code extra/Makefile.am: Added libevents extra/libevent: Libevent initial code extra/libevent/CMakeLists.txt: Libevent initial code extra/libevent/Makefile.am: Libevent initial code extra/libevent/README: Libevent initial code extra/libevent/WIN32-Code: Libevent initial code extra/libevent/WIN32-Code/config.h: Libevent initial code extra/libevent/WIN32-Code/misc.c: Libevent initial code extra/libevent/WIN32-Code/misc.h: Libevent initial code extra/libevent/WIN32-Code/tree.h: Libevent initial code extra/libevent/WIN32-Code/win32.c: Libevent initial code extra/libevent/buffer.c: Libevent initial code extra/libevent/compat: Libevent initial code extra/libevent/compat/sys: Libevent initial code extra/libevent/compat/sys/_time.h: Libevent initial code extra/libevent/compat/sys/queue.h: Libevent initial code extra/libevent/compat/sys/tree.h: Libevent initial code extra/libevent/devpoll.c: Libevent initial code extra/libevent/epoll.c: Libevent initial code extra/libevent/epoll_sub.c: Libevent initial code extra/libevent/evbuffer.c: Libevent initial code extra/libevent/evdns.c: Libevent initial code extra/libevent/evdns.h: Libevent initial code extra/libevent/event-config.h: Libevent initial code extra/libevent/event-internal.h: Libevent initial code extra/libevent/event.c: Libevent initial code extra/libevent/event.h: Libevent initial code extra/libevent/event_tagging.c: Libevent initial code extra/libevent/evhttp.h: Libevent initial code extra/libevent/evport.c: Libevent initial code extra/libevent/evrpc-internal.h: Libevent initial code extra/libevent/evrpc.c: Libevent initial code extra/libevent/evrpc.h: Libevent initial code extra/libevent/evsignal.h: Libevent initial code extra/libevent/evutil.c: Libevent initial code extra/libevent/evutil.h: Libevent initial code extra/libevent/http-internal.h: Libevent initial code extra/libevent/http.c: Libevent initial code extra/libevent/kqueue.c: Libevent initial code extra/libevent/log.c: Libevent initial code extra/libevent/log.h: Libevent initial code extra/libevent/min_heap.h: Libevent initial code extra/libevent/poll.c: Libevent initial code extra/libevent/select.c: Libevent initial code extra/libevent/signal.c: Libevent initial code extra/libevent/strlcpy-internal.h: Libevent initial code extra/libevent/strlcpy.c: Libevent initial code include/config-win.h: Libevent support include/my_dbug.h: ADded _db_is_pushed include/mysql.h.pp: Update to handle new prototypes include/typelib.h: Split find_type_or_exit() into two functions include/violite.h: Added vio_is_pending() libmysqld/Makefile.am: Added libevent mysql-test/include/have_pool_of_threads.inc: Added test for pool-of-threads mysql-test/mysql-test-run.pl: Don't abort based on time and don't retry test cases when run under --gdb or --debug mysql-test/r/crash_commit_before.result: USE GLOBAL for debug variable mysql-test/r/have_pool_of_threads.require: Added test for pool-of-threads mysql-test/r/pool_of_threads.result: Added test for pool-of-threads mysql-test/r/subselect_debug.result: USE GLOBAL for debug variable mysql-test/t/crash_commit_before.test: USE GLOBAL for debug variable mysql-test/t/merge-big.test: USE GLOBAL for debug variable mysql-test/t/pool_of_threads-master.opt: Added test for pool-of-threads mysql-test/t/pool_of_threads.test: Added test for pool-of-threads mysys/typelib.c: Split find_type_or_exit() into find_type_with_warning() sql/Makefile.am: Added libevent sql/handler.cc: Indentation fix. Fixed memory loss bug Fixed crash on exit when handler plugin failed sql/mysql_priv.h: Added extra_max_connections and mysqld_extra_port Added extern functions from sql_connect.cc sql/mysqld.cc: Added support for new mysqld options Added code for 'extra-port' and 'extra-max-connections' Split some functions into smaller pieces to be able to reuse code Added code for test-ignore-wrong-options sql/scheduler.cc: Updated schduler code from MySQL 6.0 sql/scheduler.h: Updated schduler code from MySQL 6.0 sql/set_var.cc: Added support for changing "extra_max_connections" sql/sql_class.cc: Iniitalize thread schduler options in THD sql/sql_class.h: Added to extra_port and scheduler to 'THD' sql/sql_connect.cc: Use thd->schduler to check number of connections and terminate connection Made some local functions global (for scheduler.cc) vio/viosocket.c: Added 'vio_pending', needed for scheduler..c
247 lines
6.9 KiB
C
247 lines
6.9 KiB
C
/* config.h. Generated by configure. */
|
|
/* config.h.in. Generated from configure.in by autoheader. */
|
|
|
|
/* Define if clock_gettime is available in libc */
|
|
/* #undef DNS_USE_CPU_CLOCK_FOR_ID */
|
|
|
|
/* Define if no secure id variant is available */
|
|
#define DNS_USE_FTIME_FOR_ID 1
|
|
|
|
/* Define if no secure id variant is available */
|
|
/* #define DNS_USE_GETTIMEOFDAY_FOR_ID 1 */
|
|
|
|
/* Define to 1 if you have the `clock_gettime' function. */
|
|
/* #undef HAVE_CLOCK_GETTIME */
|
|
|
|
/* Define if /dev/poll is available */
|
|
/* #undef HAVE_DEVPOLL */
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
/* #undef HAVE_DLFCN_H */
|
|
|
|
/* Define if your system supports the epoll system calls */
|
|
/* #undef HAVE_EPOLL */
|
|
|
|
/* Define to 1 if you have the `epoll_ctl' function. */
|
|
/* #undef HAVE_EPOLL_CTL */
|
|
|
|
/* Define if your system supports event ports */
|
|
/* #undef HAVE_EVENT_PORTS */
|
|
|
|
/* Define to 1 if you have the `fcntl' function. */
|
|
/* #undef HAVE_FCNTL */
|
|
|
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
#define HAVE_FCNTL_H 1
|
|
|
|
/* Define to 1 if you have the `getaddrinfo' function. */
|
|
/* #undef HAVE_GETADDRINFO */
|
|
|
|
/* Define to 1 if you have the `getnameinfo' function. */
|
|
/* #undef HAVE_GETNAMEINFO */
|
|
|
|
/* Define to 1 if you have the `gettimeofday' function. */
|
|
/* #define HAVE_GETTIMEOFDAY 1 */
|
|
|
|
/* Define to 1 if you have the `inet_ntop' function. */
|
|
/* #undef HAVE_INET_NTOP */
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
/* #undef HAVE_INTTYPES_H 1 */
|
|
|
|
/* Define to 1 if you have the `kqueue' function. */
|
|
/* #undef HAVE_KQUEUE */
|
|
|
|
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
|
/* #undef HAVE_LIBNSL */
|
|
|
|
/* Define to 1 if you have the `resolv' library (-lresolv). */
|
|
/* #undef HAVE_LIBRESOLV */
|
|
|
|
/* Define to 1 if you have the `rt' library (-lrt). */
|
|
/* #undef HAVE_LIBRT */
|
|
|
|
/* Define to 1 if you have the `socket' library (-lsocket). */
|
|
/* #undef HAVE_LIBSOCKET */
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#define HAVE_MEMORY_H 1
|
|
|
|
/* Define to 1 if you have the <netinet/in6.h> header file. */
|
|
/* #undef HAVE_NETINET_IN6_H */
|
|
|
|
/* Define to 1 if you have the `poll' function. */
|
|
/* #undef HAVE_POLL */
|
|
|
|
/* Define to 1 if you have the <poll.h> header file. */
|
|
/* #undef HAVE_POLL_H */
|
|
|
|
/* Define to 1 if you have the `port_create' function. */
|
|
/* #undef HAVE_PORT_CREATE */
|
|
|
|
/* Define to 1 if you have the <port.h> header file. */
|
|
/* #undef HAVE_PORT_H */
|
|
|
|
/* Define to 1 if you have the `select' function. */
|
|
/* #undef HAVE_SELECT */
|
|
|
|
/* Define if F_SETFD is defined in <fcntl.h> */
|
|
/* #undef HAVE_SETFD */
|
|
|
|
/* Define to 1 if you have the `sigaction' function. */
|
|
/* #undef HAVE_SIGACTION */
|
|
|
|
/* Define to 1 if you have the `signal' function. */
|
|
#define HAVE_SIGNAL 1
|
|
|
|
/* Define to 1 if you have the <signal.h> header file. */
|
|
#define HAVE_SIGNAL_H 1
|
|
|
|
/* Define to 1 if you have the <stdarg.h> header file. */
|
|
#define HAVE_STDARG_H 1
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
/* #define HAVE_STDINT_H 1 */
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#define HAVE_STDLIB_H 1
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#define HAVE_STRINGS_H 1
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#define HAVE_STRING_H 1
|
|
|
|
/* Define to 1 if you have the `strlcpy' function. */
|
|
/* #undef HAVE_STRLCPY */
|
|
|
|
/* Define to 1 if you have the `strsep' function. */
|
|
/* #undef HAVE_STRSEP */
|
|
|
|
/* Define to 1 if you have the `strtok_r' function. */
|
|
/* #undef HAVE_STRTOK_R */
|
|
|
|
/* Define to 1 if the system has the type `struct in6_addr'. */
|
|
#define HAVE_STRUCT_IN6_ADDR 1
|
|
|
|
/* Define to 1 if you have the <sys/devpoll.h> header file. */
|
|
/* #undef HAVE_SYS_DEVPOLL_H */
|
|
|
|
/* Define to 1 if you have the <sys/epoll.h> header file. */
|
|
/* #undef HAVE_SYS_EPOLL_H */
|
|
|
|
/* Define to 1 if you have the <sys/event.h> header file. */
|
|
/* #undef HAVE_SYS_EVENT_H */
|
|
|
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
|
/* #undef HAVE_SYS_IOCTL_H */
|
|
|
|
/* Define to 1 if you have the <sys/queue.h> header file. */
|
|
/* #undef HAVE_SYS_QUEUE_H */
|
|
|
|
/* Define to 1 if you have the <sys/select.h> header file. */
|
|
/* #undef HAVE_SYS_SELECT_H */
|
|
|
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
|
/* #undef HAVE_SYS_SOCKET_H */
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
/* #define HAVE_SYS_STAT_H 1 */
|
|
|
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
|
/* #define HAVE_SYS_TIME_H 1 */
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
/* #define HAVE_SYS_TYPES_H 1 */
|
|
|
|
/* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
|
|
/* #undef HAVE_TAILQFOREACH */
|
|
|
|
/* Define if timeradd is defined in <sys/time.h> */
|
|
/* #undef HAVE_TIMERADD */
|
|
|
|
/* Define if timerclear is defined in <sys/time.h> */
|
|
/* #define HAVE_TIMERCLEAR 1 */
|
|
|
|
/* Define if timercmp is defined in <sys/time.h> */
|
|
#define HAVE_TIMERCMP 1
|
|
|
|
/* Define if timerisset is defined in <sys/time.h> */
|
|
#define HAVE_TIMERISSET 1
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
/* #define HAVE_UNISTD_H 1 */
|
|
|
|
/* Define to 1 if you have the `vasprintf' function. */
|
|
/* #undef HAVE_VASPRINTF */
|
|
|
|
/* Define if kqueue works correctly with pipes */
|
|
/* #undef HAVE_WORKING_KQUEUE */
|
|
|
|
/* Name of package */
|
|
#ifndef PACKAGE
|
|
#define PACKAGE "libevent"
|
|
#endif
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#define PACKAGE_BUGREPORT ""
|
|
|
|
/* Define to the full name of this package. */
|
|
#define PACKAGE_NAME ""
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#define PACKAGE_STRING ""
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#define PACKAGE_TARNAME ""
|
|
|
|
/* Define to the version of this package. */
|
|
#define PACKAGE_VERSION ""
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#define STDC_HEADERS 1
|
|
|
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
|
#define TIME_WITH_SYS_TIME 1
|
|
|
|
/* Version number of package */
|
|
#define VERSION "1.3.99-trunk"
|
|
|
|
#ifndef __func__
|
|
/* Define to appropriate substitue if compiler doesnt have __func__ */
|
|
#if defined(_MSC_VER) && _MSC_VER < 1300
|
|
#define __func__ "??"
|
|
#else
|
|
#define __func__ __FUNCTION__
|
|
#endif
|
|
#endif
|
|
|
|
/* Define to empty if `const' does not conform to ANSI C. */
|
|
/* #undef const */
|
|
|
|
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
|
#ifndef __cplusplus
|
|
#define inline __inline
|
|
#endif
|
|
|
|
/* Define to `int' if <sys/types.h> does not define. */
|
|
/* #undef pid_t */
|
|
|
|
/* Define to `unsigned' if <sys/types.h> does not define. */
|
|
/* #undef size_t */
|
|
|
|
/* Define to unsigned int if you dont have it */
|
|
#define socklen_t unsigned int
|
|
|
|
/* Define to `unsigned short' if <sys/types.h> does not define. */
|
|
#define uint16_t unsigned short
|
|
|
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
|
#define uint32_t unsigned int
|
|
|
|
/* Define to `unsigned long long' if <sys/types.h> does not define. */
|
|
#define uint64_t __uint64_t
|
|
|
|
/* Define to `unsigned char' if <sys/types.h> does not define. */
|
|
#define uint8_t unsigned char
|