From 816bc45acb4a238d6cb07004da4a8048e7a85aee Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 13 Nov 2010 14:28:05 +0100 Subject: [PATCH] [entropy.client.interfaces.db] remove repository lock thread check, server-side repository updates have been made atomic long time ago --- libraries/entropy/client/interfaces/db.py | 50 +---------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/libraries/entropy/client/interfaces/db.py b/libraries/entropy/client/interfaces/db.py index de29d27f7..cb77175d4 100644 --- a/libraries/entropy/client/interfaces/db.py +++ b/libraries/entropy/client/interfaces/db.py @@ -122,11 +122,9 @@ class AvailablePackagesRepositoryUpdater(object): EAPI3_CACHE_ID = 'eapi3/segment_' def __init__(self, entropy_client, repository_id, force, gpg): - self.__lock_scanner = None self.__repository_id = repository_id self.__force = force self.__big_sock_timeout = 10 - self.__current_repo_locked = False self._cacher = EntropyCacher() self._last_rev = -1 self._entropy = entropy_client @@ -147,10 +145,6 @@ class AvailablePackagesRepositoryUpdater(object): "__init__: developer repo mode enabled") self._repo_eapi = self.__get_repo_eapi() - def __del__(self): - if self.__lock_scanner is not None: - self.__lock_scanner.kill() - def __get_eapi3_repository_metadata(self, eapi3_interface, session): product = self._settings['repositories']['product'] data = eapi3_interface.CmdInterface.get_repository_metadata( @@ -411,29 +405,6 @@ class AvailablePackagesRepositoryUpdater(object): return cmethod - def __load_background_repository_lock_check(self): - # kill previous - self.__current_repo_locked = False - self.__kill_previous_repository_lock_scanner() - self.__lock_scanner = TimeScheduled(30, - self.__repository_lock_scanner) - self.__lock_scanner.start() - - def __kill_previous_repository_lock_scanner(self): - if self.__lock_scanner is not None: - self.__lock_scanner.kill() - - def __repository_lock_scanner(self): - locked = self.__handle_repository_lock() - if locked: - self.__current_repo_locked = True - - def __repository_lock_scanner_status(self): - # raise an exception if repo got suddenly locked - if self.__current_repo_locked: - mytxt = "Current repository got suddenly locked." - raise RepositoryError('RepositoryError %s' % (mytxt,)) - def __remove_repository_files(self): sys_set = self._settings avail_data = sys_set['repositories']['available'] @@ -468,29 +439,19 @@ class AvailablePackagesRepositoryUpdater(object): sig_status = False if self._repo_eapi == 2: - # start a check in background - self.__load_background_repository_lock_check() down_item = "dbdumplight" down_status = self._download_item(down_item, cmethod, - lock_status_func = self.__repository_lock_scanner_status, disallow_redirect = True) if down_status: # get GPG file if available sig_status = self._download_item(down_item, cmethod, - lock_status_func = self.__repository_lock_scanner_status, disallow_redirect = True, get_signature = True) downloaded_item = down_item - if self.__current_repo_locked: - self.__kill_previous_repository_lock_scanner() - show_repo_locked_message() - return False, sig_status, downloaded_item if not down_status: # fallback to old db - # start a check in background - self.__load_background_repository_lock_check() self._repo_eapi = 1 down_item = "dblight" if self._developer_repo: @@ -500,18 +461,12 @@ class AvailablePackagesRepositoryUpdater(object): "__handle_database_download: developer repo mode enabled") down_status = self._download_item(down_item, cmethod, - lock_status_func = self.__repository_lock_scanner_status, disallow_redirect = True) if down_status: sig_status = self._download_item(down_item, cmethod, - lock_status_func = self.__repository_lock_scanner_status, disallow_redirect = True, get_signature = True) downloaded_item = down_item - if self.__current_repo_locked: - self.__kill_previous_repository_lock_scanner() - show_repo_locked_message() - return False, sig_status, downloaded_item if not down_status: mytxt = "%s: %s." % (bold(_("Attention")), @@ -523,7 +478,6 @@ class AvailablePackagesRepositoryUpdater(object): header = "\t" ) - self.__kill_previous_repository_lock_scanner() return down_status, sig_status, downloaded_item def __handle_database_checksum_download(self, cmethod): @@ -853,8 +807,7 @@ class AvailablePackagesRepositoryUpdater(object): return url, path def _download_item(self, item, cmethod = None, - lock_status_func = None, disallow_redirect = True, - get_signature = False): + disallow_redirect = True, get_signature = False): url, filepath = self._construct_paths(item, cmethod, get_signature = get_signature) @@ -876,7 +829,6 @@ class AvailablePackagesRepositoryUpdater(object): url, filepath, resume = False, - abort_check_func = lock_status_func, disallow_redirect = disallow_redirect )