Function
The osi_post service posts a process
that is waiting in osi_wait.
Requirements
Operation |
Environment |
---|
Authorization: |
Problem or supervisor state, any PSW key |
Dispatchable unit mode: |
Task or SRB |
Cross memory mode: |
Any |
AMODE: |
31-bit |
ASC mode: |
Any |
Interrupt status: |
Enabled for interrupts |
Locks: |
Unlocked |
Control parameters: |
All parameters must be addressable by the caller and in the
primary address space. |
Format
osi_post(OSI_post_token,
Return_code);
Parameters
- OSI_post_token
- Supplied parameter
- Type:
- Token
- Length:
- 24
OSI_post_token is the post token that is saved from
the OSI_structure of the task that is to be posted.
Refer to Interface structures for C language servers and clients for a full description of this structure.
- Return_code
- Returned parameter
- Type:
- Integer
- Length:
- Fullword
The name of a fullword in which the osi_post service
stores the return code. The osi_post service can return one of the
following values in the Return_code parameter:
Return_code |
Explanation |
---|
0 |
Successful completion |
Osi_BadParm |
Invalid OSI_structure |
Osi_Abend |
Abend in osi_post |
Usage notes
- For additional information, see Waiting and posting.
- The task that is posted is the task that is represented by OSI_post_token.
Before a PFS uses OSI_wait, it should copy the OSI_post_token from
the OSI structure to a place that is addressable by the task that
performs the OSI_post. The storage for the OSI for the waiting task
is freed if the task terminates.
- The PFS must never call OSI_post for a waiting process more than
once, and it should have sufficient logic and recovery to avoid calling
OSI_post for a task that is no longer waiting.
- The address of the osi_post routine is passed to the PFS in the
OSIT structure when the PFS is initialized.