Служба предназначена для прерывания блокирующих системных вызовов Call() и Recv(). (Это может потребоваться, например, для корректного завершения процесса.)
Сведения о методах службы приведены в таблице ниже.
Методы службы ipc.IPC (интерфейс kl.core.IPC)
Метод
Назначение и параметры метода
Потенциальная опасность метода
CreateSyncObject
Назначение
Создает объект синхронизации IPC.
Объект синхронизации IPC используется для прерывания блокирующих системных вызовов Call() и Recv() в потоках вызывающего процесса. Call() может быть прерван только тогда, когда он ожидает вызова Recv() сервером. Recv() может быть прерван только тогда, когда он ожидает получения IPC-запроса от клиента.
Дескриптор объекта синхронизации IPC не может быть передан другому процессу, так как в маске прав этого дескриптора не установлен необходимый для этого флаг.
Параметры
[out] syncHandle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует объект синхронизации IPC.
[out] rc – код возврата.
Позволяет исчерпать память ядра, создавая в ней множество объектов.
SetInterrupt
Назначение
Переводит заданный объект синхронизации IPC в состояние, при котором системные вызовы Call() и Recv() прерываются.
Параметры
[in] syncHandle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует объект синхронизации IPC.
[out] rc – код возврата.
Нет.
ClearInterrupt
Назначение
Переводит заданный объект синхронизации IPC в состояние, при котором системные вызовы Call() и Recv() не прерываются.
Параметры
[in] syncHandle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует объект синхронизации IPC.