Ted Wang created THRIFT-3753:
--------------------------------
Summary: TServerFramework::stop may fail to interrupt connected
clients
Key: THRIFT-3753
URL: https://issues.apache.org/jira/browse/THRIFT-3753
Project: Thrift
Issue Type: Bug
Components: C++ - Library
Affects Versions: 0.9.3
Reporter: Ted Wang
This is a sequence that exposes the race condition:
(1) Thread-1: in serve(), blocked on accept()
(2) Thread-2: in stop(), calls interrupt()
(3) Thread-2: in stop(), in interruptChildren(), checked that socket is valid
(4) Thread-1: in serve(), unblocked because of interrupt(), calls
releaseOneDescriptor
(5) Thread-2: in interruptChildren(), send fails so clients are not interrupted
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)