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

Async.background reports/uses queues other than background #22

Closed
damonjones opened this issue Feb 11, 2015 · 9 comments
Closed

Async.background reports/uses queues other than background #22

damonjones opened this issue Feb 11, 2015 · 9 comments

Comments

@damonjones
Copy link

I made a new Swift project (single view controller) and added Async.swift file. I used the following sample code in my viewDidLoad:

Async.background {
    println("A: This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))")
}.main {
    println("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block")
}

Running the project multiple times, the results I get are either:

A: This is run on the User Initiated (expected Background)
B: This is run on the Main (expected Main), after the previous block

Or:

A: This is run on the Main (expected Background)
B: This is run on the Main (expected Main), after the previous block

Never do I get the first block reporting that it is running on the background queue.

Xcode 6.1.1 (6A2008a)

@damonjones
Copy link
Author

I also opened the AsyncExample project and ran the iOS tests:
screen shot 2015-02-11 at 2 46 42 pm

@duemunk
Copy link
Owner

duemunk commented Feb 11, 2015

Did you run in simulator?

@damonjones
Copy link
Author

Yes.

@damonjones
Copy link
Author

I just ran it on a device and the tests passed. Did I miss somewhere where it said that this doesn't work with the simulator?

@karagraysen
Copy link

Possibly relevant: http://stackoverflow.com/a/5172968/3409110

@karagraysen
Copy link

From my own findings: I would like to believe that the simulator is not capable of running multithreaded code, but the problem I have with that, is that if normal GCD works in the simulator and Async doesn't. This sounds like a fixable problem to me. @duemunk: Maybe you should add this discovery to the README to save people some time until the bug is fixed. Just my $0.02

@duemunk
Copy link
Owner

duemunk commented Feb 11, 2015

@istx25 If you can make GCD work in these cases where Async doesn't, please let me know. I think GCD works fine with the pre iOS 8 queue classes, but not with the new ones e.g. DISPATCH_QUEUE_PRIORITY_BACKGROUND.
@damonjones I don't know if it's in the Readme, but it has been a Github issue before #13. I'll update the ready :)

@duemunk
Copy link
Owner

duemunk commented Feb 11, 2015

Added to readme as of bf2983e.
@istx25 If you find anything, please just comment on this issue even though it's closed. Or even better. Make a gist and add a reference to it in the readme under Known Bugs :)

@duemunk duemunk closed this as completed Feb 11, 2015
@tciuro
Copy link

tciuro commented Jun 9, 2018

FWIW, all tests pass fine with the latest (public) version of Xcode: 9.4 (9F1027a)

screen shot 2018-06-08 at 17 41 58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants