Obtaining and freeing the TQE

Is your responsibility as user of the set DIE function because the TQE resides in SQA. Thus, you must explicitly free the TQE when it is no longer necessary and (with one exception) in error situations as well. Timer supervision frees a TQE for you for a failing address space only if the TQE is enqueued on the real time queue and has field TQEAID set to the ASID of the failing address space.

Before freeing the TQE, however, you must ensure that it is not currently on the real time queue. There are several ways to accomplish this:
  • Always free the TQE in the DIE routine because it is never on the real time queue when the routine receives control.
  • Before freeing the TQE, use timer supervision's TQE DEQUEUE routine. This routine either removes the TQE from the real time queue or, if the TQE is not on the queue, takes no action.
Note:
  1. You must not alter the TQE (other than in the fields previously described).
  2. The interface for the TQE DEQUEUE routine is described in “Interval Cancellation”.