~mhr3/unity-scopes-api/merge-trunk

Viewing all changes in revision 427.

  • Committer: Tarmac
  • Author(s): Michi Henning
  • Date: 2014-07-29 14:34:50 UTC
  • mfrom: (420.3.9 fix-various-races)
  • Revision ID: tarmac-20140729143450-9icxsr7ypfqqgn28
Fixed a bunch of issues:

- AnnotationImpl was relying on an uninitialized value when instantiated with a VariantMap without an annotation type.

- Excluded header tests for unity::scopes::testing namespace from valgrind (as is the case for all the other public header tests).

- Excluded the testing benchmark from valgrind target. The test fails under valgrind because things are too slow, and valgrind crashes on one of the test cases.

- Added suppression to valgrind for leaky u1db_open() implementation.

- Fixed race conditions in ObjectAdapter that could cause the destructor to operate on stale memory.

- Similar fix for destructor race in StopPublisher, which caused a thread leak.

- Fixed race condition in ZmqMiddleware that could cause adapters to not be destroyed fully by the time wait_for_shutdown() returned. This was an issue only in the pathological case where a scope's search() method took longer to complete than the server time-out.

- The RegistryI test passes with valgrind with gcc 4.8, but valgrind crashes on it with gcc 4.9. I've left the test enabled for the time being until we can have a closer look.

- Added linger timeout to outgoing sockets for oneway invocations. This almost certainly was responsible for the annoying test failures we we were getting on Jenkins under heavy load.

Approved by PS Jenkins bot, Marcus Tomlinson.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: