FreeBSD Bugzilla – Attachment 68675 Details for
Bug 100893
Add kqueue(2) support to mysql41-server
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 3.43 KB, created by
Rauf Kuliyev
on 2006-07-26 23:10:18 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Rauf Kuliyev
Created:
2006-07-26 23:10:18 UTC
Size:
3.43 KB
patch
obsolete
>diff -u -r databases/mysql41-server.orig/Makefile databases/mysql41-server/Makefile >--- databases/mysql41-server.orig/Makefile Thu Jun 22 15:23:04 2006 >+++ databases/mysql41-server/Makefile Thu Jul 27 02:41:48 2006 >@@ -59,6 +59,9 @@ > .if defined(WITH_COLLATION) && ${WITH_COLLATION} != "" > CONFIGURE_ARGS+=--with-collation=${WITH_COLLATION} > .endif >+.if defined(WITH_KQUEUE) >+CFLAGS+=-DWITH_KQUEUE >+.endif > > .include <bsd.port.pre.mk> > >@@ -139,6 +142,7 @@ > @${ECHO} " (use it if you need even more speed)." > @${ECHO} " WITHOUT_INNODB=yes Disable support for InnoDB table handler." > @${ECHO} " WITH_NDB=yes Enable support for NDB Cluster." >+ @${ECHO} " WITH_KQUEUE=yes Enable support for kqueue(2)." > @${ECHO} "" > > post-patch: >diff -u -r databases/mysql41-server.orig/files/patch-sql::mysqld.cc databases/mysql41-server/files/patch-sql::mysqld.cc >--- databases/mysql41-server.orig/files/patch-sql::mysqld.cc Sun Jan 16 14:24:46 2005 >+++ databases/mysql41-server/files/patch-sql::mysqld.cc Thu Jul 27 02:40:29 2006 >@@ -1,6 +1,6 @@ >---- sql/mysqld.cc.orig Tue Dec 14 13:40:36 2004 >-+++ sql/mysqld.cc Mon Jan 10 00:28:52 2005 >-@@ -128,7 +128,7 @@ >+--- sql/mysqld.cc.orig Wed May 24 22:59:52 2006 >++++ sql/mysqld.cc Thu Jul 27 02:18:31 2006 >+@@ -133,7 +133,7 @@ > #endif /* __WIN__ */ > > #ifdef HAVE_LIBWRAP >@@ -9,3 +9,90 @@ > #include <syslog.h> > #ifdef NEED_SYS_SYSLOG_H > #include <sys/syslog.h> >+@@ -151,6 +151,10 @@ >+ #define zVOLSTATE_DEACTIVE 2 >+ #define zVOLSTATE_MAINTENANCE 3 >+ >++#ifdef WITH_KQUEUE >++#include <sys/event.h> >++#endif >++ >+ #ifdef __NETWARE__ >+ #include <nks/netware.h> >+ #include <nks/vm.h> >+@@ -556,6 +560,10 @@ >+ static unsigned long openssl_id_function(); >+ #endif /* HAVE_OPENSSL */ >+ >++#ifdef WITH_KQUEUE >++int kq; >++struct kevent kev; >++#endif >+ >+ /* Function declarations */ >+ >+@@ -3664,16 +3672,38 @@ >+ >+ (void) my_pthread_getprio(pthread_self()); // For debugging >+ >+- FD_ZERO(&clientFDs); >++#ifdef WITH_KQUEUE >++ if ((kq = kqueue()) <0) { >++ sql_print_error("mysqld: Could not get kqueue"); >++ } >++#else >++ FD_ZERO(&clientFDs); >++#endif >++ >+ if (ip_sock != INVALID_SOCKET) >+ { >+- FD_SET(ip_sock,&clientFDs); >++#ifdef WITH_KQUEUE >++ EV_SET(&kev, ip_sock, EVFILT_READ, EV_ADD, 0, 0, NULL); >++ if ((kevent(kq, &kev, 1, NULL, 0, NULL)) <0) >++ sql_print_error("mysqld: ip_sock kevent registration error"); >++#else >++ FD_SET(ip_sock,&clientFDs); >++#endif >++ >+ #ifdef HAVE_FCNTL >+ ip_flags = fcntl(ip_sock, F_GETFL, 0); >+ #endif >+ } >+ #ifdef HAVE_SYS_UN_H >++#ifdef WITH_KQUEUE >++ EV_SET(&kev, unix_sock, EVFILT_READ, EV_ADD, 0, 0, NULL); >++ if ((kevent(kq, &kev, 1, NULL, 0, NULL)) <0) { >++ sql_print_error("mysqld: unix_sock kevent registration error"); >++ } >++#else >+ FD_SET(unix_sock,&clientFDs); >++#endif /* WITH_KQUEUE */ >++ >+ #ifdef HAVE_FCNTL >+ socket_flags=fcntl(unix_sock, F_GETFL, 0); >+ #endif >+@@ -3688,7 +3718,11 @@ >+ if (select(max_used_connection,(int*) &readFDs,0,0,0) < 0) >+ continue; >+ #else >++#ifdef WITH_KQUEUE >++ if (kevent(kq, NULL, 0, &kev, 1, 0) < 0) >++#else >+ if (select((int) max_used_connection,&readFDs,0,0,0) < 0) >++#endif >+ { >+ if (socket_errno != SOCKET_EINTR) >+ { >+@@ -3707,7 +3741,11 @@ >+ >+ /* Is this a new connection request ? */ >+ #ifdef HAVE_SYS_UN_H >++#ifdef WITH_KQUEUE >++ if (kev.ident == unix_sock) >++#else >+ if (FD_ISSET(unix_sock,&readFDs)) >++#endif /* WITH_KQUEUE */ >+ { >+ sock = unix_sock; >+ flags= socket_flags;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 100893
: 68675