---
title: dispatch_workloop_create_inactive
framework: dispatch
role: symbol
role_heading: Function
path: dispatch/dispatch_workloop_create_inactive
---

# dispatch_workloop_create_inactive

Creates a new inactive workloop with the specified label.

## Declaration

```occ
extern dispatch_workloop_tdispatch_workloop_create_inactive(const char *label);
```

## Parameters

- `label`: A string label to attach to the queue to uniquely identify it in debugging tools such as Instruments, sample, stackshots, and crash reports. Because apps, libraries, and frameworks can all create their own dispatch queues, a reverse-DNS naming style (com.example.myqueue) is recommended. This parameter is optional and can be NULL.

## Return Value

Return Value The newly created workloop.

## Discussion

Discussion Use this function when you want to change the default behavior of the workloop before activating it. For example, use this method if you call dispatch_set_qos_class_floor to configure the minimum quality of service level. After configuring the workloop, you must call activate() before submitting any blocks to it. If you submit blocks to an inactive workloop, the system terminates the current process.

## See Also

### Creating a Dispatch Workloop

- [dispatch_workloop_create](dispatch/dispatch_workloop_create.md)
- [dispatch_workloop_t](dispatch/dispatch_workloop_t.md)
- [OS_dispatch_workloop](dispatch/os_dispatch_workloop.md)
