SL_ABORT_REQ primitive

Purpose

Request to abort the processing of a previous request primitive.

Requirement

Mandatory for all signaling processes.

Library

The signaling interface library (libsl.a).

C syntax

typedef struct {
	                SL_ID id;
	                int iseq_no;
	                pid_t pidCHP;
	                SL_PRIMITIVE_TYPE Command;
	                SL_REQUEST_PARM_ST Parms;
} SL_REQUEST_ST;
...
typedef union {
...
	                struct _abort_request_st {
		                   size_t sizetLength;
		                   int iCommandNo;
	                } abort_request_st;
...
} SL_REQUEST_PARM_ST;

Description

The SL_ABORT_REQ primitive is sent by the signaling interface to the signaling process, on request from the channel process or the system manager. The SL_ABORT_REQ primitive is generated internally by the signaling interface in response to the sl_abort_request() subroutine. The SL_ABORT_REQ primitive cannot be sent directly by any process. The request can be received by any signaling process, and it indicates that the client process (channel process, custom server, or system manager) wants to abort a previous request. The request being aborted is identified by its sequence number. The usual reason why a primitive is aborted is that the signaling process has not responded to the original request quickly enough. For example, when a call setup has taken longer than the state table is prepared to wait.

There is no corresponding confirm primitive, to abort the processing of a primitive, the signaling process should send a confirm primitive corresponding to the original request, with the Parms.ReplyCode field set to SL_REPLY_ABORTED.

Corresponding state table action

None.

Parameters

id
Eye-catcher that identifies the structure as containing a request primitive. Set this to SLID_REQUEST_ST.
iseq_no
Set to the sequence number of the primitive being aborted. This is the value of the iseq_no parameter of the primitive being aborted. Note that for the SL_ABORT_REQ primitive, iseq_no is equal to Parms.abort_request_st.iCommandNo, so the signaling process can use either value to identify the original request.
pidCHP
Set to the process id of the sending process.
Command.id
Set to the identifier of the primitive: SL_ABORT_REQ.
Parms.abort_request_st.sizetLength
Set to sizeof(struct _abort_request_st).
Parms.abort_request_st.iCommandNo
Set to the sequence number of the primitive being aborted. See the description of the iseq_no parameter for more information.

Related information