A method of operating a data communication interface between a host data processing system and a plurality of data communication channels, the data communication interface having a processor and a plurality of communication controllers, each associated with one of the plurality of communication channels, the method comprising the steps executed by the data communication interface of:
- posting actions in response to requests from the host data processing system and a plurality of communication controllers;
- monitoring for posting of actions;
- responsive to detection of posting of an action, determining if an action was posted in response to a request by the host data processing system;
- determining if the action can be executed if the action was posted in response to a request by the host data processing system;
- if the determination of the last step is affirmative, executing the action;
- if the action was posted in response to a request by the host data processing but was not executable, or if the action was posted in response to a request by one of said plurality of communication controllers, adding the action to an input of a First-In-First-Out queue;
- examining only a first action in said First-In-First-Out queue to determine if said first action can be executed;
- if the first action can be executed, executing the first action and replacing it as first action with a next action from said First-In-First-Out queue, if any;
- and
- if the first action cannot be executed, moving the first action to said input of said First-In-First-Out queue and replacing it as first action with a next action from said First-In-First-Out queue, if any.