{"action":"created","issue":{"url":"https://api.github.com/repos/OmniLayer/omnicore/issues/85","labels_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/85/comments","events_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/85/events","html_url":"https://github.com/OmniLayer/omnicore/issues/85","id":89770642,"number":85,"title":"Hold LOCKs only as long as necessary","user":{"login":"dexX7","id":5836089,"avatar_url":"https://avatars.githubusercontent.com/u/5836089?v=3","gravatar_id":"","url":"https://api.github.com/users/dexX7","html_url":"https://github.com/dexX7","followers_url":"https://api.github.com/users/dexX7/followers","following_url":"https://api.github.com/users/dexX7/following{/other_user}","gists_url":"https://api.github.com/users/dexX7/gists{/gist_id}","starred_url":"https://api.github.com/users/dexX7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dexX7/subscriptions","organizations_url":"https://api.github.com/users/dexX7/orgs","repos_url":"https://api.github.com/users/dexX7/repos","events_url":"https://api.github.com/users/dexX7/events{/privacy}","received_events_url":"https://api.github.com/users/dexX7/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OmniLayer/omnicore/labels/improvement","name":"improvement","color":"fef2c0"},{"url":"https://api.github.com/repos/OmniLayer/omnicore/labels/performance","name":"performance","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-20T13:26:45Z","updated_at":"2015-06-22T03:41:31Z","closed_at":null,"body":"As outlined in #84,`gettransactions_MP` and other parts currently lock certain sections longer than necessary.\r\n\r\nIn case of `gettransactions_MP` an additional improvement could be to restructure the command, such that we lock the wallet, collect the wallet transactions, release the lock, and then process the transactions, instead of holding the lock for the whole time.\r\n\r\nI'm going to tackle it, once the RPC branch is in."},"comment":{"url":"https://api.github.com/repos/OmniLayer/omnicore/issues/comments/113994621","html_url":"https://github.com/OmniLayer/omnicore/issues/85#issuecomment-113994621","issue_url":"https://api.github.com/repos/OmniLayer/omnicore/issues/85","id":113994621,"user":{"login":"zathras-crypto","id":5633351,"avatar_url":"https://avatars.githubusercontent.com/u/5633351?v=3","gravatar_id":"","url":"https://api.github.com/users/zathras-crypto","html_url":"https://github.com/zathras-crypto","followers_url":"https://api.github.com/users/zathras-crypto/followers","following_url":"https://api.github.com/users/zathras-crypto/following{/other_user}","gists_url":"https://api.github.com/users/zathras-crypto/gists{/gist_id}","starred_url":"https://api.github.com/users/zathras-crypto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zathras-crypto/subscriptions","organizations_url":"https://api.github.com/users/zathras-crypto/orgs","repos_url":"https://api.github.com/users/zathras-crypto/repos","events_url":"https://api.github.com/users/zathras-crypto/events{/privacy}","received_events_url":"https://api.github.com/users/zathras-crypto/received_events","type":"User","site_admin":false},"created_at":"2015-06-22T03:41:31Z","updated_at":"2015-06-22T03:41:31Z","body":"Indeed hehe - FYI the idea is to provide a data source via ```walletcache.cpp``` that is a drop in replacement for iteration - instead of *all* wallet transactions we iterate *only* Omni wallet transactions.\r\n\r\nLet me see what I come up with, I'm on a roll here I think hehe ;)"}}