# HG changeset patch # User Paul Boddie # Date 1614465666 -3600 # Node ID 1746e650715f651833410d1a9782b4f1e781f779 # Parent e1a1e2673be347d18b2a04899c11080c36b70036 Employ libipc synchronisation support for region manager operations. This seems to prevent the region manager from granting the same base address to different dataspaces occasionally (which is apparently not supposed to happen even in a multithreaded program). diff -r e1a1e2673be3 -r 1746e650715f dstest_test_client.cc --- a/dstest_test_client.cc Sat Feb 27 00:04:27 2021 +0100 +++ b/dstest_test_client.cc Sat Feb 27 23:41:06 2021 +0100 @@ -30,6 +30,7 @@ #include #include +#include #include "dataspace_client.h" #include "opener_client.h" @@ -215,6 +216,7 @@ /* Introduce concurrency control. */ ipc_cap_alloc_init(); + ipc_mem_init(); std::thread *activities[NUMBER_OF_FILES * START_LIMIT]; l4_cap_idx_t context_refs[NUMBER_OF_FILES]; diff -r e1a1e2673be3 -r 1746e650715f dstest_test_server.cc --- a/dstest_test_server.cc Sat Feb 27 00:04:27 2021 +0100 +++ b/dstest_test_server.cc Sat Feb 27 23:41:06 2021 +0100 @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include