---
title: addEventSource
framework: kernel
role: pseudoSymbol
path: kernel/ioworkloop/1809383-addeventsource
---

# addEventSource

## Declaration

```occ
virtual IOReturn addEventSource(
 IOEventSource *newEvent); 
```

## Parameters

- `newEvent`: Pointer to IOEventSource subclass to add.

## Return Value

Return Value Always returns kIOReturnSuccess.

## Overview

Overview Add an event source to be monitored by the work loop. This function does not return until the work loop has acknowledged the arrival of the new event source. When a new event has been added the threadMain will always restart its loop and check all outstanding events. The event source is retained by the work loop.

## See Also

### Miscellaneous

- [_maintRequest](kernel/ioworkloop/1809377-_maintrequest.md)
- [disableAllEventSources](kernel/ioworkloop/1809388-disablealleventsources.md)
- [disableAllInterrupts](kernel/ioworkloop/1809396-disableallinterrupts.md)
- [enableAllEventSources](kernel/ioworkloop/1809401-enablealleventsources.md)
- [enableAllInterrupts](kernel/ioworkloop/1809404-enableallinterrupts.md)
- [eventSourcePerformsWork](kernel/ioworkloop/1809410-eventsourceperformswork.md)
- [free](kernel/ioworkloop/1809418-free.md)
- [getThread](kernel/ioworkloop/1809425-getthread.md)
- [inGate](kernel/ioworkloop/1809434-ingate.md)
- [init](kernel/ioworkloop/1809441-init.md)
- [onThread](kernel/ioworkloop/1809446-onthread.md)
- [removeEventSource](kernel/ioworkloop/1809449-removeeventsource.md)
- [runAction](kernel/ioworkloop/1809454-runaction.md)
- [runEventSources](kernel/ioworkloop/1809459-runeventsources.md)
- [threadMain](kernel/ioworkloop/1809465-threadmain.md)
- [threadMainContinuation](kernel/ioworkloop/1809470-threadmaincontinuation.md)
- [workLoop](kernel/ioworkloop/1809476-workloop.md)
- [workLoopWithOptions](kernel/ioworkloop/1809483-workloopwithoptions.md)
- [workLoopWithOptions(IOOptionBits options)](kernel/ioworkloop/1809488-workloopwithoptions.md)
