This endpoint is intended for interrupting the Call() and Recv() locking system calls. (For example, this may be required to correctly terminate a process.)
Information about methods of the endpoint is provided in the table below.
Methods of the ipc.IPC endpoint (kl.core.IPC interface)
Method
Method purpose and parameters
Potential danger of the method
CreateSyncObject
Purpose
Creates an IPC synchronization object.
An IPC synchronization object is used to interrupt Call() and Recv() locking system calls in threads of the calling process.
Parameters
[in] autoclear – value that indicates whether or not you need to create an IPC synchronization object that automatically switches to a state in which the Call() and Recv() system calls are not interrupted after the first interruption of these system calls (a non-zero value means yes and 0 means no).
[out] syncHandle – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the IPC synchronization object.
[out] rc – return code.
Allows the kernel memory to be used up by creating a multitude of objects within it.
SetInterrupt
Purpose
Switches the defined IPC synchronization object to a state in which the Call() and Recv() system calls are interrupted.
Parameters
[in] syncHandle – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the IPC synchronization object.
[out] rc – return code.
N/A
ClearInterrupt
Purpose
Switches the defined IPC synchronization object to a state in which the Call() and Recv() system calls are not interrupted.
Parameters
[in] syncHandle – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the IPC synchronization object.