[ORC] Re-enable the Error/Expected unit tests that were disabled in r300177.
authorLang Hames <lhames@gmail.com>
Fri, 14 Apr 2017 00:06:12 +0000 (00:06 +0000)
committerLang Hames <lhames@gmail.com>
Fri, 14 Apr 2017 00:06:12 +0000 (00:06 +0000)
commitc7b9ecaa6303ec38ac397f04ca83581fa7a74414
tree4a7a2420dc00025d9428ef0371137a5fe269e866
parenta77172a744cf97d19655de9fa2d7a60ddd460e86
[ORC] Re-enable the Error/Expected unit tests that were disabled in r300177.

The tests were failing due to an occasional deadlock in SerializationTraits
for Error: Both serializers and deserializers were protected by a single
mutex and in the unit test (where both ends of the RPC are in the same
process) one side might obtain the mutex, then block waiting for input,
leaving the other side of the connection unable to obtain the mutex to
write the data the first side was waiting for. Splitting the mutex into
two (one for serialization, one for deserialization) appears to have fixed the
issue.

llvm-svn: 300286
llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp