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.
  2. 10 Jul, 2019 1 commit
  3. 19 Apr, 2019 1 commit
  4. 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.
  5. 20 Mar, 2019 1 commit
  6. 17 Mar, 2019 1 commit
  7. 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
    • 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.
  8. 02 Jul, 2018 1 commit
  9. 30 Jun, 2018 1 commit
  10. 25 Jun, 2018 2 commits
  11. 24 Jun, 2018 1 commit
  12. 19 Jun, 2018 1 commit
  13. 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
  14. 10 Jun, 2018 1 commit
  15. 03 Jun, 2018 1 commit
  16. 28 May, 2018 2 commits
  17. 19 Mar, 2018 1 commit
  18. 27 May, 2016 1 commit
    • Friedrich W. H. Kossebau's avatar
      Fix: create Bspline coefs data consistenly in C-style · 80a0d2fd
      Friedrich W. H. Kossebau authored
      As spline->coefs data is created on the heap via posix_memalign()
      if HAVE_POSIX_MEMALIGN or also HAVE_SSE2 is defined. So in the
      alternative code branch it should be created in C style as well,
      using malloc (like in the original code) and not new.
      Which then will always match the free(spline->coefs); memory release.
      The alternative, doing the release either via delete[] or free depending
      on the conditions HAVE_POSIX_MEMALIGN or also HAVE_SSE2, would need
      more changes to the code, as there are some places in the imported code
      where only one variant is done. Going to malloc also keeps the code closer
      to the original one.
      Test Plan:
      tests still pass on a machine where both #ifndef HAVE_POSIX_MEMALIGN and #ifndef
      HAVE_SSE2, so where code change affects the build
      Reviewers: dkazakov, rempt, #krita:_next
      Reviewed By: rempt, #krita:_next
      Differential Revision: https://phabricator.kde.org/D1694
  19. 25 Jan, 2016 1 commit
    • Boudewijn Rempt's avatar
      Move kritaimage to libs · b46898a0
      Boudewijn Rempt authored
      This shows up a bunch of other problems with alien includes. Some
      tests have been disabled (marked "kisdoc") because they needed