1. 20 Aug, 2019 1 commit
    • Dmitry Kazakov's avatar
      Fix ConcurrentMap::migrationInProcess() to handle initialization value (0) properly · 2ffdc5b0
      Dmitry Kazakov authored
      Job coordinator of the table may have three states:
      
      1) jobCoordinator == 0: the table was initialized, but no migration
         has ever been started for this table
      2) jobCoordinator > 1: a table migration is in progress right now. The
         caller should join *jobCoordinator to help finishing the migration.
      3) jobCoordinator == 1: the table migration has been finished. It means
         that the table doesn't have any values in it anymore.
      
      The patch actually fixes the map to consider case 1 as a situation, when
      there is no migration.
      
      CCBUG:411081
      2ffdc5b0
  2. 19 Apr, 2019 1 commit
  3. 21 Mar, 2019 1 commit
    • Dmitry Kazakov's avatar
      Fix race condition in the lockfree hash table's garbage collector · 96e8dce2
      Dmitry Kazakov authored
      This is the same problem that has been present in the lockfree
      stack until recently. We should check for m_rawPointerUsers when
      we already have a local copy of the free nodes list. Only in this
      case it guarantees that noone added elements between the check and
      the actual destruction.
      96e8dce2
  4. 20 Mar, 2019 1 commit
  5. 17 Mar, 2019 1 commit
  6. 13 Mar, 2019 2 commits
    • Dmitry Kazakov's avatar
      Fix a memory leak on data manager deletion · 2e5ee146
      Dmitry Kazakov authored
      Purged hash table migrations should be deleted on destruction
      2e5ee146
    • Dmitry Kazakov's avatar
      Possibly fix lockfree hash table threading problems · 0f4bcc3c
      Dmitry Kazakov authored
      1) Fix initialization of memento manager link in getTileLazy. Created
         tile might fail to be linked to the data manager, if someone was
         quicker. Therefore we should link the tile to the history only after
         we confirmed the creation.
      
      2) Fix double-deletion in garbage collector. Now it uses a standard
         "raw-pointer users" approach with a simple spin-lock for a special
         case of too-many-objects-deleted.
      
      3) Add a unittest for getTileLazy algorithm.
      0f4bcc3c
  7. 02 Jul, 2018 1 commit
  8. 30 Jun, 2018 1 commit
  9. 25 Jun, 2018 2 commits
  10. 24 Jun, 2018 1 commit
  11. 19 Jun, 2018 1 commit
  12. 14 Jun, 2018 1 commit
    • Andrey Kamakin's avatar
      General hash table fixes. · 42aa57ed
      Andrey Kamakin authored
      Fixed getLazy method on race writes.
      Temporary fix for KisTileData in hash table for racing threads.
      Fixed iterator, now doesn't drop there in test execution.
      
      Ref T8874
      42aa57ed
  13. 10 Jun, 2018 1 commit
  14. 03 Jun, 2018 1 commit
  15. 28 May, 2018 2 commits