openweave / openweave-core

openWeave is a home area network application protocol stack designed to enable asynchronous, symmetric, device-to-device, device-to-mobile and device-to-cloud communications for control path and data path messaging.
Apache License 2.0
233 stars 105 forks source link

Prevent occasional crash during NLWeaveStack shutdown. #668

Closed kghost closed 3 years ago

kghost commented 3 years ago

Prevent occasional crash during NLWeaveStack shutdown.

If shutdown fails, NLWeaveStack needs to nil-out the stored callback block. If for some reason the callback block is called multiple times, NLGWeaveDeviceManager should make sure the calls to dispatch_group are balanced.