{"action":"closed","issue":{"url":"https://api.github.com/repos/irbowen/b_trees/issues/16","labels_url":"https://api.github.com/repos/irbowen/b_trees/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/irbowen/b_trees/issues/16/comments","events_url":"https://api.github.com/repos/irbowen/b_trees/issues/16/events","html_url":"https://github.com/irbowen/b_trees/issues/16","id":118251274,"number":16,"title":"Lock upgrades","user":{"login":"irbowen","id":6373266,"avatar_url":"https://avatars.githubusercontent.com/u/6373266?v=3","gravatar_id":"","url":"https://api.github.com/users/irbowen","html_url":"https://github.com/irbowen","followers_url":"https://api.github.com/users/irbowen/followers","following_url":"https://api.github.com/users/irbowen/following{/other_user}","gists_url":"https://api.github.com/users/irbowen/gists{/gist_id}","starred_url":"https://api.github.com/users/irbowen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irbowen/subscriptions","organizations_url":"https://api.github.com/users/irbowen/orgs","repos_url":"https://api.github.com/users/irbowen/repos","events_url":"https://api.github.com/users/irbowen/events{/privacy}","received_events_url":"https://api.github.com/users/irbowen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/irbowen/b_trees/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/irbowen/b_trees/labels/question","name":"question","color":"cc317c"}],"state":"closed","locked":false,"assignee":{"login":"irbowen","id":6373266,"avatar_url":"https://avatars.githubusercontent.com/u/6373266?v=3","gravatar_id":"","url":"https://api.github.com/users/irbowen","html_url":"https://github.com/irbowen","followers_url":"https://api.github.com/users/irbowen/followers","following_url":"https://api.github.com/users/irbowen/following{/other_user}","gists_url":"https://api.github.com/users/irbowen/gists{/gist_id}","starred_url":"https://api.github.com/users/irbowen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irbowen/subscriptions","organizations_url":"https://api.github.com/users/irbowen/orgs","repos_url":"https://api.github.com/users/irbowen/repos","events_url":"https://api.github.com/users/irbowen/events{/privacy}","received_events_url":"https://api.github.com/users/irbowen/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-11-22T08:38:23Z","updated_at":"2015-12-02T05:37:26Z","closed_at":"2015-12-02T05:37:26Z","body":"So, to test the child to see if it can split so we know what kind of lock we need\r\n- To start, we always get a read lock\r\n- Once we find the child we're inserting on, we check if they can split\r\n- If they can, we need to upgrade\r\n\r\nThis means that we need an upgrade function... I'm working on one, but it doesn't work at present (only allows upgrades in a single threaded environment)\r\n\r\nC++11/14/17 gives us shared_mutex and shared_timed_mutex, but these don't have upgrade functionality\r\n\r\nI might have to look into boost, because this seems like a lot of work for a small part of our project"}}