Use _CFIsMainThread as a shim for pthread_main_np on Linux #359
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NSOperation.currentQueue()makes a call topthread_main_np(), which isn't supported on Linux. There's already a shim in CoreFoundation that implements the function under_CFIsMainThread(), so this PR:_CFIsMainThread()CoreFoundationand creates apthread_main_npfunction that calls itThe implementation of the
pthread_main_np()function inNSOperationis done as a top level function - that's probably not the right thing to do, but it allows it to be groups with the import ofCoreFoundation, which is only required to expose_CFIsMainThread(). This way its a little more clear why the function is there, and makes it easier to clean up the code if we implement thepthread_main_np()shim a better way.