-
Notifications
You must be signed in to change notification settings - Fork 131
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
[v3] [ios] transaction #215
Conversation
Looking at the concurrency again, I don't understand why the 'dispatch_barrier_async' within the 'dispatch_async' call doesn't deadlock every time. Does GCD run the barrier block when it notices the outer block running 'dispatch_semaphore_wait'? All the docs say barrier blocks do not execute while other blocks on the same queue are executing. Does waiting on a semaphore not count as executing on the queue? I'm still kind of green when it comes to native code. @auser I'll add info in the docs asap. Thanks. |
@FrankSalad lmk when you add to the docs. As far as the dispatch async, it does 'queue' it AFAIK, so I think that should work just fine |
@auser I was trying to follow https://mikeash.com/pyblog/friday-qa-2011-10-14-whats-new-in-gcd.html |
1c92a4d
to
8fe95f2
Compare
@FrankSalad nice work, can we get this in on android also if anyone has time to do it? |
@auser I hope this is similar to what you might've done for #78. It's a little bit brittle - it can leak if the
beginTransaction
call isn't followed up with atryCommitTransaction
. If you had a different implementation strategy in mind I'd like to know 🤸♂️