James E. King, III created THRIFT-3974:
------------------------------------------

             Summary: Using clang-3.8 and ThreadSanitizer on the 
concurrency_test shows some bad PThread behavior
                 Key: THRIFT-3974
                 URL: https://issues.apache.org/jira/browse/THRIFT-3974
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.9.3, 0.10.0
            Reporter: James E. King, III
            Assignee: James E. King, III


After using ThreadSanitizer to prove THRIFT-2755 is no longer present after 
THRIFT-3932 was completed, it looks like there are some issues in the 
PThreadThread class, specifically that the destructor calls a virtual method.  
ThreadSanitizer picks calls this out (many, many times).  

The usage may be correct, but since we're not using C++11 we cannot seal the 
class (mark it with the final keyword) which would tell ThreadSanitizer nothing 
can inherit from the class, making that behavior safe.

Another way to deal with this is to move the join implementation to a 
non-virtual method and have both the dtor and join() call it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to