{"push_id":545386303,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"2d48a268dd95f8a0866ad58dca926ab1021cd982","before":"21ba2bc1120ac6ef3c7f12dae5b81b38629d15c9","commits":[{"sha":"3e4713dab71aa2ddd9a11bd95191c6fde5befa50","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@rothlis.net","name":"David Röthlisberger"},"message":"http-service: Cleanup: Rename internal function\n\n...for clarity. Will says this was supposed to stand for \"hierarchy\",\nnot \"heir\" as in \"a person who inherits\".","distinct":true,"url":"https://api.github.com/repos/wmanley/stb-tester-service/commits/3e4713dab71aa2ddd9a11bd95191c6fde5befa50"},{"sha":"2d48a268dd95f8a0866ad58dca926ab1021cd982","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@rothlis.net","name":"David Röthlisberger"},"message":"http-service: Fix locking in StateReceiver\n\n`TestJob` wasn't passing in its `state_lock` to `StateReceiver`,\nso `StateReceiver` wasn't using the same lock! Also `TestJob.get_status`\nwas taking the trouble to acquire a lock, but then it was returning a\n*reference* to the `state_data` dict -- and since `StateReceiver` only\nupdates a *sub-tree* of the dict, not the entire dict,\n`TestJob.get_status` was returning a reference to a dict that could\nchange at any time.\n\nNow all the locking is encapsulated in `StateReceiver` so it's simpler\nto follow; and we return a deepcopy of the dict every time -- it's a\nshame to do this since all the caller is going to do is convert it to\njson, but in practice the overhead will probably be unnoticeable.","distinct":true,"url":"https://api.github.com/repos/wmanley/stb-tester-service/commits/2d48a268dd95f8a0866ad58dca926ab1021cd982"}]}