diff options
author | Morgan Gangwere <morgan.gangwere@gmail.com> | 2015-03-03 00:51:44 -0700 |
---|---|---|
committer | Morgan Gangwere <morgan.gangwere@gmail.com> | 2015-03-03 00:51:44 -0700 |
commit | 73a1ceb7323f951e92cdb5ce577689adf880d799 (patch) | |
tree | 1ba55b62a7218fd9c18e32215d2f859d7e1df34d /Graphics/drawables/key_flag_encrypt.svg | |
parent | 1a12eb1a7af9f7fc80846f1925aeab72a752eb6f (diff) | |
download | open-keychain-73a1ceb7323f951e92cdb5ce577689adf880d799.tar.gz open-keychain-73a1ceb7323f951e92cdb5ce577689adf880d799.tar.bz2 open-keychain-73a1ceb7323f951e92cdb5ce577689adf880d799.zip |
Fix root cause of #1077
When importing lots of keys, lots of messages about the status of keys
is generated, including some debug slime and general fluff that
isn't really needed a lot of the time. As a result, a serious bug can come
along after key imports or certain operations which cause a log to become
parceled.
This commit implements a pool to "dehydrate" logs into: they are placed
into the pool (a ConcurrentHashMap) and a UUID assigned to them, which
is parceled along. When the OperationResult is un-parceled, it reads in
the appropriate UUID bits and rehydrates the appropriate log.
In order to avoid any memory leaks, the log pool removes a reference to
the log itself, allowing the log to die a natural death at the hands
of the GC..
Diffstat (limited to 'Graphics/drawables/key_flag_encrypt.svg')
0 files changed, 0 insertions, 0 deletions