Commit Graph

10867 Commits

Author SHA1 Message Date
Fabio Erculiani e317a71524 [solo.commands.deptest] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani f4a25af5d0 [solo.commands.upgrade] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 5dfcdb2794 [solo.commands.remove] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 3e97a39779 [solo.commands.preservedlibs] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 008b65d11b [solo.commands.download] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 55d1b8aa8f [solo.commands.source] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 7046aedc52 [solo.commands.config] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 53a1b117ae [entropy.client.package] preservedlibs: update API documentation 2013-12-07 20:29:19 +01:00
Fabio Erculiani ac0e1ca28e [solo.commands._manage] make _show_preserved_libraries process and thread safe 2013-12-07 20:29:19 +01:00
Fabio Erculiani 24993db8bb [solo.commands.remove] remove _prompt_removal(), old heritage 2013-12-07 20:29:19 +01:00
Fabio Erculiani 87ef9a169d [solo.commands.install] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani 72069d4227 [solo.commands._manage] remove _show_packages_info(), old heritage 2013-12-07 20:29:19 +01:00
Fabio Erculiani 1c7b684aa4 [entropy.client.misc] make ConfigurationFiles process and thread safe wrt inst_repo 2013-12-07 20:29:19 +01:00
Fabio Erculiani 2393f5dda2 [entropy.client] update API documentation with information regarding repository locking 2013-12-07 20:29:19 +01:00
Fabio Erculiani 5094085916 [solo.commands.query] add concurrency support 2013-12-07 20:29:19 +01:00
Fabio Erculiani fc686c9c09 [solo.commands.match] use the sharedlock decorator 2013-12-07 20:29:19 +01:00
Fabio Erculiani 7b0dbac6eb [solo.commands.search] use the sharedlock decorator 2013-12-07 20:29:19 +01:00
Fabio Erculiani 6b3f25a8ef [solo.commands.command] add sharedlock and exclusivelock decorators 2013-12-07 20:29:19 +01:00
Fabio Erculiani d802bb8186 [entropy.db.skel] clarify the cases where locking could be avoided 2013-12-07 20:29:18 +01:00
Fabio Erculiani 20a3cc3525 [solo.commands.query] rename entropy_repository to inst_repo for consistency 2013-12-07 20:29:18 +01:00
Fabio Erculiani 532c71261b [solo.utils] print_package_info: improve ability to deal with stale data 2013-12-07 20:29:18 +01:00
Fabio Erculiani d5d5ef11ea [solo.commands.match] add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani b0c85ffcce [solo.commands.search] do not hold the inst_repo lock while using stdio functions
print_package_info is already able to deal with stale data and we
better not deadlock other threads or processes there.
2013-12-07 20:29:18 +01:00
Fabio Erculiani aa30310ae2 [solo.commands.search] add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani fa68f56545 [entropy.client.package.actions] install: pass remove_package_id to _install_package_unlocked 2013-12-07 20:29:18 +01:00
Fabio Erculiani 95c69168c5 [entropy.db.sqlite] make possible to acquire the repository lock file in shared mode by users 2013-12-07 20:29:18 +01:00
Fabio Erculiani 86b25739c7 [entropy.client.package.actions] remove: add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani e6e020e404 [entropy.client.package.actions] _manage: move _get_remove_trigger_data() here 2013-12-07 20:29:18 +01:00
Fabio Erculiani 1a8c291ae0 [solo.commands.query] acquire the Entropy Resources General Lock in shared mode 2013-12-07 20:29:18 +01:00
Fabio Erculiani 8111284a4f [entropy.client.package.actions] config: add concurrency support 2013-12-07 20:29:18 +01:00
Fabio Erculiani 12e4c4a7a3 [entropy.client.package.actions] install: rewrite lock handling
This is a complete rewrite of the PackageInstallAction class, due to
potentially state data collected on setup() that should be rather
collected with the lock held for the whole install transaction.
2013-12-07 20:29:18 +01:00
Fabio Erculiani 3b069f111d [entropy.client.package.actions] install: always validate installed_package_id 2013-12-07 20:27:57 +01:00
Fabio Erculiani 3bd97b8c32 [entropy.client.package.actions] source: add concurrency support 2013-12-07 20:27:57 +01:00
Fabio Erculiani 685b7625d9 [entropy.client.package.actions] multifetch: do not show data transfer if it's 0 2013-12-07 20:27:57 +01:00
Fabio Erculiani fca17af8c8 [entropy.client.package.actions] fetch: avoid using output() with back = True
This improve the output in multithreaded scenarios.
2013-12-07 20:27:57 +01:00
Fabio Erculiani 8c3798c4dc [entropy.client.package.actions] fetch: replace "matches" with "validated" 2013-12-07 20:27:57 +01:00
Fabio Erculiani 2e92fddbf5 [entropy.client.package.actions] multifetch: add concurrency support 2013-12-07 20:27:57 +01:00
Fabio Erculiani 1ac0e38115 [entropy.fetchers] update pre_download_hook API, add post_download_hook 2013-12-07 20:27:57 +01:00
Fabio Erculiani 126caaca9e [entropy.client.package] install: use _is_package_repository() 2013-12-07 20:27:57 +01:00
Fabio Erculiani eab15e1cb7 [entropy.client.package] install: avoid deadlocks during conflicts removal 2013-12-07 20:27:57 +01:00
Fabio Erculiani c54c893e55 [entropy.db] implement locking infrastructure (with the same semantics) for in-memory repositories 2013-12-07 20:27:57 +01:00
Fabio Erculiani d7f22534b2 [entropy.db] rewrite locking infrastructure, handle multithreading use case 2013-12-07 20:27:57 +01:00
Fabio Erculiani 8c2b9c4841 [entropy.fetchers] add locking infrastructure support code 2013-12-07 20:27:57 +01:00
Fabio Erculiani 5b1d071361 [entropy.client.package.actions] fetch: update docstring 2013-12-07 20:27:57 +01:00
Fabio Erculiani 43223c03c5 [entropy.client.package.actions] fetch: avoid potential deadlocks
Holding shared locks on other downloadable files while holding an
exclusive lock on the file to be downloaded is looking for a disaster.
Try not to hold locks on other potentially downloadable files while
holding one already.
2013-12-07 20:27:57 +01:00
Fabio Erculiani 6efc069ddc [entropy.client.package.actions] fetch: reduce installed_repository() lock contention 2013-12-07 20:27:57 +01:00
Fabio Erculiani 4447190b4c [entropy.client.package.actions] action: add stat import 2013-12-07 20:27:56 +01:00
Fabio Erculiani bd5100730e [entropy.client.package] rename fetch phase to _fetch_phase() 2013-12-07 20:27:56 +01:00
Fabio Erculiani 9d3acd63aa [entropy.client.package.actions] install: complete concurrency support
Add concurrency support to package files.
2013-12-07 20:27:56 +01:00
Fabio Erculiani 173b93ab52 [entropy.client.package.actions] action: move _stat_path() here 2013-12-07 20:27:56 +01:00