arch-repo-manager/librepomgr
Martchus 7ade757c8d Avoid locking whole config when updating DBs
* Only lock the config for writing the reloading the config file
* Make sure all write operations to the database acquire an "update mutex"
  to ensure only one write operation happens at a time
* Do *not* acquire any additional locks when reading from a database as it
  should be safe to do so even when a write operation happens because
    * LMDB read and write transactions can happen at the same time
    * The package cache has its own mutex anyways
    * Write ops to the package cache try to lock the "update mutex" to
      prevent writing "old" data to the cache during updates
* Make "lastUpdate" atomic to avoid locking the config when accessing it
2022-03-05 18:55:52 +01:00
..
buildactions Avoid locking whole config when updating DBs 2022-03-05 18:55:52 +01:00
testfiles Add test for repository cleanup 2021-08-29 00:29:26 +02:00
tests Adapt tests for limiting 2022-02-25 23:18:26 +01:00
webapi Avoid locking whole config when updating DBs 2022-03-05 18:55:52 +01:00
webclient Avoid locking whole config when updating DBs 2022-03-05 18:55:52 +01:00
CMakeLists.txt Log usage of `io_uring` 2022-02-22 00:08:21 +01:00
authentication.cpp Initial import 2021-02-08 23:53:56 +01:00
authentication.h Initial import 2021-02-08 23:53:56 +01:00
errorhandling.cpp Initial import 2021-02-08 23:53:56 +01:00
errorhandling.h Initial import 2021-02-08 23:53:56 +01:00
global.h Initial import 2021-02-08 23:53:56 +01:00
globallock.cpp Fix locks for global resources by implementing a mutex not tied to a thread 2021-02-26 01:39:21 +01:00
globallock.h Fix problems with global locks 2022-01-25 22:49:20 +01:00
helper.h Limit results returned by the API for better scalability 2022-02-25 00:29:43 +01:00
json.cpp Add test for repository cleanup 2021-08-29 00:29:26 +02:00
json.h Initial import 2021-02-08 23:53:56 +01:00
logcontext.h lmdb: Use lmdb to store build actions 2022-02-13 21:04:54 +01:00
logging.h Log lock acquisitions/releases 2021-02-25 22:12:56 +01:00
multisession.h Initial import 2021-02-08 23:53:56 +01:00
serversetup.cpp Avoid locking whole config when updating DBs 2022-03-05 18:55:52 +01:00
serversetup.h Print certain resource limits on server startup 2022-03-05 12:34:26 +01:00