{"push_id":1475146294,"size":1,"distinct_size":1,"ref":"refs/heads/caf/LA.HB.1.3.1","head":"0092cce1d9f3fbac84c74a1a16aa8a8b01370b2b","before":"b9ba050d30e5447c366ed08a8acebaea69f73601","commits":[{"sha":"0092cce1d9f3fbac84c74a1a16aa8a8b01370b2b","author":{"name":"Kevin Tang","email":"7a6a4b3c64e226451c84479c47aafd105b14af4d@codeaurora.org"},"message":"fixing a race condition on MsgTask::destroy()\n\nwhen MsgTask::destroy() happens, msg_q_unblock() triggers\nthe running thread to come out from blocking state. A race\ncondition may happen such that that thread may complete\nfirst, causing msgTask obj to be already deleted. A next\nallocation may change the value at MsgTask::mThread. Then\nwhen control comes back to destroy(), it may try to check\nmThread and call delete on it to crash the program.\n\nmThread is a heap obj, so it is possible to delete it after\nthe hosting msgTask obj is deleted.  We just have to keep\nits value on the stack before calling msg_q_unblock().\n\nChange-Id: If15884815eea05fbfa523ec92aa300ed21ef897c\nCR-Fixed: 1091530","distinct":true,"url":"https://api.github.com/repos/codeaurora-unofficial/platform-hardware-qcom-gps/commits/0092cce1d9f3fbac84c74a1a16aa8a8b01370b2b"}]}
{"actor":{"display_login":"Mazda--"}}