---
title: "CFMachPortInvalidate(_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfmachportinvalidate(_:)"
---

# CFMachPortInvalidate(_:)

Invalidates a CFMachPort object, stopping it from receiving any more messages.

## Declaration

```swift
func CFMachPortInvalidate(_ port: CFMachPort!)
```

## Parameters

- `port`: The CFMachPort object to invalidate.

## Discussion

Discussion Invalidating a CFMachPort object prevents the port from ever receiving any more messages. The CFMachPort object is not deallocated, though. If the port has not already been invalidated, the port’s invalidation callback function is invoked, if one has been set with CFMachPortSetInvalidationCallBack(_:_:). The CFMachPortContext  info information for port is also released, if a release callback was specified in the port’s context structure. Finally, if a run loop source was created for port, the run loop source is invalidated, as well. If the underlying Mach port is destroyed, the CFMachPort object is automatically invalidated.

## See Also

### Configuring a CFMachPort Object

- [CFMachPortCreateRunLoopSource(_:_:_:)](corefoundation/cfmachportcreaterunloopsource(_:_:_:).md)
- [CFMachPortSetInvalidationCallBack(_:_:)](corefoundation/cfmachportsetinvalidationcallback(_:_:).md)
