<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Dispatch",
  "identifier" : "/documentation/Dispatch/dispatch_block_flags_t/DISPATCH_BLOCK_ASSIGN_CURRENT",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration Case",
  "symbol" : {
    "kind" : "Enumeration Case",
    "modules" : [
      "Dispatch"
    ],
    "preciseIdentifier" : "c:@EA@dispatch_block_flags_t@DISPATCH_BLOCK_ASSIGN_CURRENT"
  },
  "title" : "DISPATCH_BLOCK_ASSIGN_CURRENT"
}
-->

# DISPATCH_BLOCK_ASSIGN_CURRENT

Set the attributes of the work item to match the attributes of the current execution context.

```
DISPATCH_BLOCK_ASSIGN_CURRENT
```

## Discussion

Indicates that a dispatch block should be assigned the execution context attributes that are current at the time the block object is created. This applies to attributes such as QoS class, os_activity_t, and properties of the current IPC request, if any. If invoked directly, the block will apply these attributes to the calling thread for the duration of the block body. If the block is submitted to a queue, this flag replaces the default behavior of associating the submitted block instance with the execution context attributes that are current at the time of submission. If a specific QoS class is assigned with [`DISPATCH_BLOCK_NO_QOS_CLASS`](/documentation/Dispatch/dispatch_block_flags_t/DISPATCH_BLOCK_NO_QOS_CLASS) or the [`dispatch_block_create_with_qos_class`](/documentation/Dispatch/dispatch_block_create_with_qos_class) function, that QoS class takes precedence over the QoS class assignment indicated by this flag.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)