- Jan 21, 2020
-
-
Szymon Romik authored
Fix hash map erase deadlock
-
Igor Chorążewicz authored
Add doxygen comments describing namespaces
-
Igor Chorążewicz authored
Update version of PMDK in vcpkg
-
Lukasz Dorau authored
Update version of PMDK in vcpkg in order to have the defragmentation feature (change corresponding to commit bd646ca1).
-
Łukasz Stolarczuk authored
Update version of PMDK in Docker images
-
Lukasz Dorau authored
Update version of PMDK in Docker images in order to have the defragmentation feature.
-
Lukasz Dorau authored
pandoc is required by the newest PMDK.
-
- Jan 20, 2020
-
-
Igor Chorazewicz authored
-
Igor Chorazewicz authored
Consider the following scenario (where A and B are in the same bucket): thread 1: thread 2: find(acc1, A) erase(A) find(acc2, B) First, thread 1 takes lock on the bucket and then on element A. Then, thread 2 takes a lock on the bucket and tries to lock element A but it can't because thread 1 already locked it - this way thread 2 is blocked. Next, thread 1 tries to lock the bucket but it can't because thread 2 holds it. Neither thread can progress. This patch fixes that by introducing the same algorithm as in lookup/insert. When trying to lock element in erase we now spin in a loop doing try_acquire and if we do not succeed after specified amount of time we drop bucket lock and try whole operation again.
-
- Jan 17, 2020
-
-
Łukasz Stolarczuk authored
-
Łukasz Stolarczuk authored
remove dependency to containers in ptr test
-
Igor Chorążewicz authored
Pass TESTS_TBB environment variable to Docker
-
- Jan 16, 2020
-
-
Lukasz Dorau authored
-
Szymon Romik authored
Remove checking for offsetof error in pmdk
-
Szymon Romik authored
-
- Jan 15, 2020
-
-
Igor Chorążewicz authored
Add TESTS_TBB cmake option
-
Igor Chorążewicz authored
Rename get_program_version to get_program_version_major_minor
-
Igor Chorazewicz authored
Now, we do not include any headers which depend on offsetof (types.h) so this check is not longer necessary.
-
Igor Chorążewicz authored
Merge changes from stable 1.8
-
Lukasz Dorau authored
... because it does not get the patch part of the version any more.
-
- Jan 14, 2020
-
-
Szymon Romik authored
add TESTS_TBB cmake option to enable/disable(by default) tests which require Intel TBB library and add tbb to windows tests
-
Igor Chorążewicz authored
Merge stable 1.7 into stable 1.8
-
Łukasz Stolarczuk authored
Fix minor comments issues
-
Łukasz Stolarczuk authored
volatile_state: add missing include
-
- Jan 13, 2020
-
-
Łukasz Stolarczuk authored
-
Łukasz Stolarczuk authored
-
- Jan 11, 2020
-
-
Igor Chorazewicz authored
-
- Jan 10, 2020
-
-
Igor Chorazewicz authored
-
Igor Chorążewicz authored
test: fix one type in volatile_state test
-
Igor Chorążewicz authored
Check license only in modified files
-
Lukasz Dorau authored
-
- Jan 09, 2020
-
-
Lukasz Dorau authored
It fixes the following compilation error: In file included from /libpmemobj-cpp/tests/volatile_state/\ volatile_state.cpp:33:0: /libpmemobj-cpp/tests/volatile_state/volatile_state.cpp:\ In function 'void test_vector_of_elements(pmem::obj::pool<root>&)': /libpmemobj-cpp/tests/volatile_state/volatile_state.cpp:348:30:\ error: conversion to 'size_t {aka long unsigned int}' \ from 'std::__atomic_base<int>::__int_type {aka int}' \ may change the sign of the result [-Werror=sign-conversion] UT_ASSERT(v2_initialized == NUM_ELEMENTS); ^ -
Szymon Romik authored
Make persistent_ptr_base non-template and move to main namespace
-
- Jan 08, 2020
-
-
Łukasz Stolarczuk authored
-
Łukasz Stolarczuk authored
with two more cases, explicitly using converting assignment and static_cast.
-
Łukasz Stolarczuk authored
because it was never used, and probably was erroneous (not re-calculating offset).
-
Łukasz Stolarczuk authored
-
Łukasz Stolarczuk authored
Since we want to widely use non-template version of base class it's better to have it in main (pmem::obj) namespace. Thanks to that it can be used as a type e.g. in vector to store pointers of various (template) persistent_ptr elements.
-
Łukasz Stolarczuk authored
persistent_ptr_base is changed to enable usage e.g. as a generic parameter for a function requiring any persistent_ptr. Non-template version of the base class is perfect for that. Rationale for this change is a defragmentation feature, which will operate on various persistent_ptr's.
-
Szymon Romik authored
Introduce volatile_state support class
-