Sławomir Nizio fc13fa3727 [entropy.server] correct close_repositories() with Python 3
Function callers, in order (during eit commit):

1. filename='lib/entropy/server/interfaces/main.py', function='switch_default_repository', code_context=[' self.close_repositories()\n'], index=0)
2. filename='server/eit/commands/command.py', function='_call_exclusive', code_context=[' server.close_repositories()\n'], index=0)
3. filename='lib/entropy/client/interfaces/client.py', function='destroy', code_context=[' self.close_repositories(mask_clear = False)\n'], index=0)
4. filename='lib/entropy/server/interfaces/main.py', function='destroy', code_context=[' self.close_repositories()\n'], index=0)

Third one triggers packages set synchronization (which would cause "dictionary
changed size during iteration"), and marks sets as being synchronized.

Fourth does not trigger sets synchronization, so closes all repositories
without new ones being opened in the meantime.

Side note:
It's similar to this in "client," lib/entropy/client/interfaces/methods.py:

    def close_repositories(self, mask_clear = True):
	...
            # list() -> python3 support
            for item, val in list(repo_cache.items()):
		...
		repo_cache.pop(item).close(_token = repository_id)
		...

but (based on shallow look), it doesn't do as much magic; just calls .pop()
(not sure if there are similar side effects in close() there, though), so the
explanation may possibly apply to the lib/entropy/server function only.
2019-11-14 01:16:17 +01:00
2019-11-10 15:53:52 +01:00
2019-11-10 15:53:56 +01:00
2018-11-26 20:15:36 +01:00
2018-11-26 20:15:36 +01:00
2018-11-26 20:15:36 +01:00
2019-11-10 15:53:52 +01:00
2011-10-20 19:52:49 +02:00
2018-08-05 00:26:03 +02:00
2018-08-04 20:37:29 +02:00

Build Status Entropy

Entropy is the binary package management of Sabayon Linux.

License

GPL v2. See COPYING for details.

Description
No description provided
Readme 136 MiB
Languages
Python 98.8%
Shell 0.7%
Makefile 0.4%