Creates a CFRunLoopSource object for a CFMessagePort object.


CFRunLoopSourceRef CFMessagePortCreateRunLoopSource(CFAllocatorRef allocator, CFMessagePortRef local, CFIndex order);



The allocator to use to allocate memory for the new object. Pass NULL or kCFAllocatorDefault to use the current default allocator.


The message port for which to create a run loop source.


A priority index indicating the order in which run loop sources are processed. order is currently ignored by CFMessagePort object run loop sources. Pass 0 for this value.

Return Value

The new CFRunLoopSource object for ms. Ownership follows the The Create Rule.


The run loop source is not automatically added to a run loop. To add the source to a run loop, use CFRunLoopAddSource.

Special Considerations

This method is not available on iOS 7 and later—it will return NULL and log a sandbox violation in syslog. See Concurrency Programming Guide for possible replacement technologies.

See Also

Configuring a CFMessagePort Object


Sets the callback function invoked when a CFMessagePort object is invalidated.


Sets the name of a local CFMessagePort object.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software