-
Notifications
You must be signed in to change notification settings - Fork 1.1k
SR-11854: Fix concurrent operations execution in OperationQueue #2937
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
Conversation
To be able to run operations concurrently OperationQueue needs concurrent underlying DispatchQueue. This matches with Darwin.
cc @phausler — was this intended? |
@swift-ci test |
1 similar comment
@swift-ci test |
Does this fix https://bugs.swift.org/browse/SR-11854 (OperationQueue not asynchronous) ? |
Oh, yes, exactly this case. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems reasonable to me, though it would be nice to have an additional test to validate the state of the dispatch queue if Foundation is built testable. That said, it would be beyond the scope of the particular fix, so I think that it is okay to do that as a follow-up.
CC: @tomerd - this is probably a good thing to grab for the upcoming release as well |
This will also need to go to 5.4 as well. I think #2930 may also need to be backported to 5.3 as well as its another |
To be able to run operations concurrently OperationQueue needs concurrent underlying DispatchQueue. This patch uses
.concurrent
attribute to create DispatchQueues with required behavior.This matches with Darwin.