Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Platform] Apply API review comments to MTROTAProviderDelegate #22541

Closed
bzbarsky-apple opened this issue Sep 12, 2022 · 1 comment · Fixed by #23841
Closed

[Platform] Apply API review comments to MTROTAProviderDelegate #22541

bzbarsky-apple opened this issue Sep 12, 2022 · 1 comment · Fixed by #23841
Assignees

Comments

@bzbarsky-apple
Copy link
Contributor

bzbarsky-apple commented Sep 12, 2022

Reproduction steps

  1. Document which queue the callback blocks should run on, or add a queue to the delegate methods as needed.

Probably needs to be fixed after #22529

Part of #22420

Platform

darwin

Platform Version(s)

No response

Type

Manually tested with SDK

(Optional) If manually tested please explain why this is only manually tested

No response

Anything else?

No response

@bzbarsky-apple
Copy link
Contributor Author

This is actually pretty critical to sort out, because right now the things that MTROTAProviderDelegateBridge ends up doing with queues don't make much sense and can lead to crashes....

We need to fix this to fix all of #22847

bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this issue Nov 30, 2022
…teBridge.

* Make sure we call our delegate callbacks on a queue different from the Matter
  work queue.
* Assert that we are on the Matter work queue in all the places where we should
  be.
* Make sure to dispatch to the Matter work queue via the controller we were
  dealing with, so dispatch does not happen if that controller has shut down.
* Reset OTA transfers when the controller the transfer is associated with shuts
  down.
* Ensure that async callbacks for a stale transfer don't affect a current
  transfer.

Fixes project-chip#22541
bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this issue Nov 30, 2022
…teBridge.

* Make sure we call our delegate callbacks on a queue different from the Matter
  work queue.
* Assert that we are on the Matter work queue in all the places where we should
  be.
* Make sure to dispatch to the Matter work queue via the controller we were
  dealing with, so dispatch does not happen if that controller has shut down.
* Reset OTA transfers when the controller the transfer is associated with shuts
  down.
* Ensure that async callbacks for a stale transfer don't affect a current
  transfer.

Fixes project-chip#22541
bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this issue Nov 30, 2022
…teBridge.

* Make sure we call our delegate callbacks on a queue different from the Matter
  work queue.
* Assert that we are on the Matter work queue in all the places where we should
  be.
* Make sure to dispatch to the Matter work queue via the controller we were
  dealing with, so dispatch does not happen if that controller has shut down.
* Reset OTA transfers when the controller the transfer is associated with shuts
  down.
* Ensure that async callbacks for a stale transfer don't affect a current
  transfer.

Fixes project-chip#22541
bzbarsky-apple added a commit that referenced this issue Dec 1, 2022
…teBridge. (#23841)

* Make sure we call our delegate callbacks on a queue different from the Matter
  work queue.
* Assert that we are on the Matter work queue in all the places where we should
  be.
* Make sure to dispatch to the Matter work queue via the controller we were
  dealing with, so dispatch does not happen if that controller has shut down.
* Reset OTA transfers when the controller the transfer is associated with shuts
  down.
* Ensure that async callbacks for a stale transfer don't affect a current
  transfer.

Fixes #22541
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants