runAction
Single thread a call to an action with the work-loop.
Declaration
virtual IOReturn runAction(
Action action,
OSObject *target,
void *arg0 = 0,
void *arg1 = 0,
void *arg2 = 0,
void *arg3 = 0);Parameters
- action:
Pointer to function to be executed in work-loop context.
- arg0:
Parameter for action parameter, defaults to 0.
- arg1:
Parameter for action parameter, defaults to 0.
- arg2:
Parameter for action parameter, defaults to 0.
- arg3:
Parameter for action parameter, defaults to 0.
Return Value
Returns the value of the Action callout.
Overview
Client function that causes the given action to be called in a single threaded manner. Beware: the work-loop's gate is recursive and runAction can cause direct or indirect re-entrancy. When executing on a client's thread, runAction will sleep until the work-loop's gate opens for execution of client actions, the action is single threaded against all other work-loop event sources.