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