{"push_id":797191077,"size":1,"distinct_size":1,"ref":"refs/heads/hpcc-14212-v2","head":"fa13725222cef59a57a7ce1c2a15ac615a3210eb","before":"7e22dfa90d4d70124caca7c7b2973a4dfcd0f12b","commits":[{"sha":"fa13725222cef59a57a7ce1c2a15ac615a3210eb","author":{"email":"b20121000db38205734e8ca1c74fe9668b08552a@lexisnexis.com","name":"Jake Smith"},"message":"HPCC-14212 Avoid deadlock with subscription sub system\n\nDeleting a subscription stub can involve keeping it's mutex and\ncalling back to remove NodeSubscriber implementation requiring\nthe NodeSubscriber mutex to be locked.\nConversely, removing the NodeSubscriber involves having the\nNodeSubscriber mutex locked and can cause the subscription sub\nsystem to require it's lock too. If 2 threads are in each of\nthese states, deadlock can ensue. It's a race condition, if the\nnotification mechanism is still actively notifing it will have\nthe subscriber linked and not hit this issue, it will end up\ndestroying the subscriber outside of the mutex deadlock scenario.\n\nFix by passing ownership of the subscriber objects to the\nnotification mechanism.\n\nSigned-off-by: Jake Smith <jake.smith@lexisnexis.com>","distinct":true,"url":"https://api.github.com/repos/jakesmith/HPCC-Platform/commits/fa13725222cef59a57a7ce1c2a15ac615a3210eb"}]}