Skip to content

[SR-744] QOS is unimplemented on Linux #752

@drewcrawford

Description

@drewcrawford
Previous ID SR-744
Radar None
Original Reporter @drewcrawford
Type Bug
Status Resolved
Resolution Done
Environment

Linux x64
swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a

Additional Detail from JIRA
Votes 0
Component/s libdispatch
Labels Bug, Linux
Assignee None
Priority Medium

md5: e80af79dce0d5276a9822844be18630c

Issue Description:

Darwin documentation for dispatch_get_global_queue says

* It is recommended to use quality of service class values to identify the
 * well-known global concurrent queues:
 *  - QOS_CLASS_USER_INTERACTIVE
 *  - QOS_CLASS_USER_INITIATED
 *  - QOS_CLASS_DEFAULT
 *  - QOS_CLASS_UTILITY
 *  - QOS_CLASS_BACKGROUND

This "preferred" code is not platform-independent, because

  • These symbols are not available on Linux

  • QOS is not implemented on Linux

I understand that this is not something going to happen in the immediate future, but I'm opening a bug to track this. I'm introducing a bunch of terrible Linux-specific QOS hacks as I port my Darwin code to Linux, and I need to link to a bug in my code comments that explains why the #if os(Linux) branch is so terrible.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions