1. Nov 14, 2019
  2. Nov 06, 2019
    • Igor Chorazewicz's avatar
      concurrent_hash_map: implement rehash_bucket using a transaction · 88a078cb
      Igor Chorazewicz authored
      This fixes problem with inconsistent state after crash. In previous implementation
      if application crashed in the middle of rehash it was possible that two buckets
      (old and new) pointed to the same element. This meant that size could be too big
      (some elements could be counted twice). Putting all operations which change list
      pointers inside of a transction solves this issue and eliminates requirement
      to have 'restore_after_crash' logic.
      
      set_rehashed is done outside of a transaction because otherwise:
      - on abort rehashed flag would be rolled back by obj using memcpy instead of
        std::atomic API which could be UB
      - some thread could check for rehashed flag and decide that rehash is not needed
        but after that transaction could abort and move elements back
      88a078cb
    • Szymon Romik's avatar
      Merge pull request #496 from igchor/test_pmem_add_executable · 326d0c8a
      Szymon Romik authored
      Fail concurrent_hash_map drd/helgrind tets on non-pmem
      326d0c8a
  3. Nov 05, 2019
  4. Nov 04, 2019
  5. Oct 29, 2019
  6. Oct 23, 2019
    • Lukasz Dorau's avatar
      Fix removing pkg-config rpm package · 22636e7b
      Lukasz Dorau authored
      Most rpm based OSes use the 'pkgconf' name,
      only openSUSE uses 'pkg-config'.
      22636e7b
    • Lukasz Dorau's avatar
      Fix installing libpmem-*.rpm · eec37e60
      Lukasz Dorau authored
      Replace 'libpmem-*.rpm' with 'libpmem*.rpm'.
      It fixes following errors on openSUSE:
      
      error: Failed dependencies:
              libpmemobj1 = 1.7-1.suse1500 is needed by libpmemobj-debug-1.7-1.suse1500.x86_64
              libpmemobj1 = 1.7-1.suse1500 is needed by libpmemobj-devel-1.7-1.suse1500.x86_64
      
      error: Failed dependencies:
              libpmem1 = 1.7-1.suse1500 is needed by libpmem-debug-1.7-1.suse1500.x86_64
              libpmem1 = 1.7-1.suse1500 is needed by libpmem-devel-1.7-1.suse1500.x86_64
      eec37e60
  7. Oct 22, 2019
  8. Oct 21, 2019
  9. Oct 18, 2019
  10. Oct 16, 2019
  11. Oct 14, 2019
    • Igor Chorążewicz's avatar
      Merge pull request #480 from... · e23ac326
      Igor Chorążewicz authored
      Merge pull request #480 from ldorau/common-fix-invalid-TRAVIS_COMMIT_RANGE-in-case-of-non-upstream-repository
      
      common: fix invalid TRAVIS_COMMIT_RANGE in case of non-upstream repository
      e23ac326
  12. Oct 11, 2019
  13. Oct 10, 2019
  14. Oct 08, 2019
  15. Oct 07, 2019
    • Igor Chorazewicz's avatar
      Change header_features constant to a function in concurrent_hash_map. · 4d1b43d4
      Igor Chorazewicz authored
      header_features was only declared (not defined) in concurrent_hash_map header.
      This means that (until C++17) it can be used only in places where address of
      this constant is not needed. In operator != we access one member of header_fatures
      which requrires it to be declared. This only fails for some compilers like clang-9
      because rest of the evaluate this expression at compile time (this is a compiler
      decision whether to do this at compile time or runtime).
      
      Fix this issue by creating function header_features().
      4d1b43d4
  16. Oct 03, 2019