[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16647802#comment-16647802 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 closed pull request #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/build/cmake/ConfigureChecks.cmake b/build/cmake/ConfigureChecks.cmake index 6b9c6a32f9..457bfe05da 100644 --- a/build/cmake/ConfigureChecks.cmake +++ b/build/cmake/ConfigureChecks.cmake @@ -45,6 +45,7 @@ check_include_file(sys/socket.h HAVE_SYS_SOCKET_H) check_include_file(sys/stat.h HAVE_SYS_STAT_H) check_include_file(sys/time.h HAVE_SYS_TIME_H) check_include_file(sys/un.h HAVE_SYS_UN_H) +check_include_file(poll.h HAVE_POLL_H) check_include_file(sys/poll.h HAVE_SYS_POLL_H) check_include_file(sys/select.h HAVE_SYS_SELECT_H) check_include_file(sched.h HAVE_SCHED_H) diff --git a/build/cmake/config.h.in b/build/cmake/config.h.in index c5d4d307d4..39d8270aa3 100644 --- a/build/cmake/config.h.in +++ b/build/cmake/config.h.in @@ -121,6 +121,9 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_UN_H 1 +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_POLL_H 1 + /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_POLL_H 1 diff --git a/configure.ac b/configure.ac index 917f6fa226..14a8c2e0bf 100755 --- a/configure.ac +++ b/configure.ac @@ -640,6 +640,7 @@ AC_CHECK_HEADERS([sys/ioctl.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([sys/time.h]) AC_CHECK_HEADERS([sys/un.h]) +AC_CHECK_HEADERS([poll.h]) AC_CHECK_HEADERS([sys/poll.h]) AC_CHECK_HEADERS([sys/resource.h]) AC_CHECK_HEADERS([unistd.h]) diff --git a/lib/cpp/src/thrift/server/TNonblockingServer.cpp b/lib/cpp/src/thrift/server/TNonblockingServer.cpp index f89b5f7935..194d59fa08 100644 --- a/lib/cpp/src/thrift/server/TNonblockingServer.cpp +++ b/lib/cpp/src/thrift/server/TNonblockingServer.cpp @@ -28,7 +28,11 @@ #include #include -#ifdef HAVE_SYS_SELECT_H +#ifdef HAVE_POLL_H +#include +#elif HAVE_SYS_POLL_H +#include +#elif HAVE_SYS_SELECT_H #include #endif @@ -1291,10 +1295,44 @@ bool TNonblockingIOThread::notify(TNonblockingServer::TConnection* conn) { return false; } - fd_set wfds, efds; - long ret = -1; + int ret = -1; long kSize = sizeof(conn); - const char* pos = reinterpret_cast(); + const char * pos = (const char *)const_cast_sockopt(); + +#if defined(HAVE_POLL_H) || defined(HAVE_SYS_POLL_H) + struct pollfd pfd = {fd, POLLOUT, 0}; + + while (kSize > 0) { +pfd.revents = 0; +ret = poll(, 1, -1); +if (ret < 0) { + return false; +} else if (ret == 0) { + continue; +} + +if (pfd.revents & POLLHUP || pfd.revents & POLLERR) { + ::THRIFT_CLOSESOCKET(fd); + return false; +} + +if (pfd.revents & POLLOUT) { + ret = send(fd, pos, kSize, 0); + if (ret < 0) { +if (errno == EAGAIN) { + continue; +} + +::THRIFT_CLOSESOCKET(fd); +return false; + } + + kSize -= ret; + pos += ret; +} + } +#else + fd_set wfds, efds; while (kSize > 0) { FD_ZERO(); @@ -1328,6 +1366,7 @@ bool TNonblockingIOThread::notify(TNonblockingServer::TConnection* conn) { pos += ret; } } +#endif return true; } This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16645987#comment-16645987 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-428824059 "Travis build" failed in D language tests. Do I need to do something with that? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16643657#comment-16643657 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-428245479 Sadly I think our coverage on non-blocking is lax, so I'm sure how well this is tested across platforms; and there's no cross test that runs on Windows. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16643647#comment-16643647 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on a change in pull request #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#discussion_r223755475 ## File path: lib/cpp/src/thrift/server/TNonblockingServer.cpp ## @@ -1291,10 +1295,44 @@ bool TNonblockingIOThread::notify(TNonblockingServer::TConnection* conn) { return false; } - fd_set wfds, efds; - long ret = -1; + int ret = -1; long kSize = sizeof(conn); - const char* pos = reinterpret_cast(); + const char * pos = (const char *)const_cast_sockopt(); + +#if defined(HAVE_POLL_H) || defined(HAVE_SYS_POLL_H) + struct pollfd pfd = {fd, POLLOUT, 0}; + + while (kSize > 0) { +pfd.revents = 0; +ret = poll(, 1, -1); +if (ret < 0) { + return false; +} else if (ret == 0) { + continue; +} + +if (pfd.revents & POLLHUP || pfd.revents & POLLERR) { + ::close(fd); Review comment: Yes, it should. closesocket() is used on win platform. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16639864#comment-16639864 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 commented on a change in pull request #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#discussion_r223017516 ## File path: lib/cpp/src/thrift/server/TNonblockingServer.cpp ## @@ -1291,10 +1295,44 @@ bool TNonblockingIOThread::notify(TNonblockingServer::TConnection* conn) { return false; } - fd_set wfds, efds; - long ret = -1; + int ret = -1; long kSize = sizeof(conn); - const char* pos = reinterpret_cast(); + const char * pos = (const char *)const_cast_sockopt(); + +#if defined(HAVE_POLL_H) || defined(HAVE_SYS_POLL_H) + struct pollfd pfd = {fd, POLLOUT, 0}; + + while (kSize > 0) { +pfd.revents = 0; +ret = poll(, 1, -1); +if (ret < 0) { + return false; +} else if (ret == 0) { + continue; +} + +if (pfd.revents & POLLHUP || pfd.revents & POLLERR) { + ::close(fd); Review comment: Should this and the other instances of close instead be THRIFT_CLOSESOCKET like the other code path? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16610374#comment-16610374 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-420216776 > Select is slow. > Please consider epoll/kqueue instead. 1. Current realization use select(). I add poll() if available, because FD_SET is failed if descriptor is bigger than 1024. 2. Does epoll/kqueue do it faster than poll on only two descriptors? If so, does anybody need this small boost? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16610351#comment-16610351 ] ASF GitHub Bot commented on THRIFT-4618: duynl58 commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-420212466 Select is slow. Please consider epoll/kqueue instead. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16599545#comment-16599545 ] ASF GitHub Bot commented on THRIFT-4618: st0ke removed a comment on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-417835563 > I see changes for cmake - what about autoconf? Done This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16599543#comment-16599543 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-417835549 > I see changes for cmake - what about autoconf? Done This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16599544#comment-16599544 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-417835563 > I see changes for cmake - what about autoconf? Done This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16596939#comment-16596939 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-417143513 Unlikely, there are some stubborn failures. I will try to rekick. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16596305#comment-16596305 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-416947668 Do I need to rebase the commit? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16595838#comment-16595838 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-416797908 I don't think non-blocking servers are tested in the current cross test suite... This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16595836#comment-16595836 ] ASF GitHub Bot commented on THRIFT-4618: jeking3 commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-416797288 Sometimes it needs a little help. We can restart individual jobs. I have done that. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577417#comment-16577417 ] ASF GitHub Bot commented on THRIFT-4618: st0ke edited a comment on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-412318997 "continuous-integration/travis-ci/pr" failed not because of my changes. Is master branch ok? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577416#comment-16577416 ] ASF GitHub Bot commented on THRIFT-4618: st0ke edited a comment on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-412318997 "continuous-integration/travis-ci/pr" failed not because of my changes. Does master branch is ok? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577415#comment-16577415 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-412318997 "continuous-integration/travis-ci/pr" failed not because of my changes. Please, help. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577079#comment-16577079 ] ASF GitHub Bot commented on THRIFT-4618: st0ke opened a new pull request #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580 Got poll() code from b5ebcd1 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577077#comment-16577077 ] ASF GitHub Bot commented on THRIFT-4618: st0ke closed pull request #1579: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1579 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16577073#comment-16577073 ] ASF GitHub Bot commented on THRIFT-4618: st0ke opened a new pull request #1579: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1579 Got poll() realization from b5ebcd199c1b603cea652847bfc9177c60fb8e28 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)