TThreadPoolServer has dangerous thread-safety issue in accepting connections
----------------------------------------------------------------------------
Key: THRIFT-21
URL: https://issues.apache.org/jira/browse/THRIFT-21
Project: Thrift
Issue Type: Bug
Components: Library (Ruby)
Reporter: Kevin Ballard
TThreadPoolServer currently accepts incoming connections in threads. This means
that at any time, as long as the thread pool is not completely full of running
connections, there are multiple threads currently blocking on the #accept call.
This is dangerous because the accept syscall is not documented as being
thread-safe. The only reason this actually works in ruby is because of the
cooperative threading, but if this library is used in any ruby interpreter that
supports native threads (e.g. MacRuby, jruby, etc) I would expect it to start
manifesting strange bugs.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.