diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-10-04 08:24:06 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-10-04 08:24:06 +0300 |
commit | 2c1067166d7e8a9541578220b408f1e553e23916 (patch) | |
tree | 2ba0932f92d88e01d51393de63dda842f6daf320 /sql/threadpool_generic.cc | |
parent | 2cf3e2ea2fca3d3613309de94d55c88dedb3831a (diff) | |
parent | 61b2618d3aae78950f1b8dbe8d4482573c77875d (diff) | |
download | mariadb-git-2c1067166d7e8a9541578220b408f1e553e23916.tar.gz |
Merge bb-10.2-ext into 10.3
Diffstat (limited to 'sql/threadpool_generic.cc')
-rw-r--r-- | sql/threadpool_generic.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sql/threadpool_generic.cc b/sql/threadpool_generic.cc index 7365e99dca6..3fdaff0504f 100644 --- a/sql/threadpool_generic.cc +++ b/sql/threadpool_generic.cc @@ -55,6 +55,9 @@ typedef OVERLAPPED_ENTRY native_event; #error threadpool is not available on this platform #endif +#ifdef _MSC_VER +#pragma warning (disable : 4312) +#endif static void io_poll_close(int fd) { @@ -447,10 +450,11 @@ static void* native_event_get_userdata(native_event *event) #elif defined(HAVE_IOCP) + static int io_poll_create() { HANDLE h= CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 0); - return (int)h; + return PtrToInt(h); } @@ -476,7 +480,7 @@ int io_poll_start_read(int pollfd, int fd, void *, void *opt) static int io_poll_associate_fd(int pollfd, int fd, void *data, void *opt) { - HANDLE h= CreateIoCompletionPort((HANDLE)fd, (HANDLE)pollfd, (ULONG_PTR)data, 0); + HANDLE h= CreateIoCompletionPort(IntToPtr(fd), IntToPtr(pollfd), (ULONG_PTR)data, 0); if (!h) return -1; return io_poll_start_read(pollfd,fd, 0, opt); @@ -504,7 +508,6 @@ static void* native_event_get_userdata(native_event *event) { return (void *)event->lpCompletionKey; } - #endif @@ -1483,7 +1486,7 @@ static int change_group(TP_connection_generic *c, thread_group_t *new_group) { int ret= 0; - int fd= mysql_socket_getfd(c->thd->net.vio->mysql_socket); + int fd= (int)mysql_socket_getfd(c->thd->net.vio->mysql_socket); DBUG_ASSERT(c->thread_group == old_group); @@ -1511,7 +1514,7 @@ static int change_group(TP_connection_generic *c, int TP_connection_generic::start_io() { - int fd= mysql_socket_getfd(thd->net.vio->mysql_socket); + int fd= (int)mysql_socket_getfd(thd->net.vio->mysql_socket); #ifndef HAVE_IOCP /* |