procmgr_session()

Обеспечить поддержку сессий для менеджера процессов

Прототип:

#include <sys/procmgr.h>
int procmgr_session( uint32_t nd,
pid_t sid,
int id,
unsigned event);

Аргументы:

nd
Дескриптор узла.
sid
Идентификатор сессии.
id
Дескриптор файла, группа процессов или сигнал, в зависимости от типа события.
event
Одно из событий:
PROCMGR_SESSION_TCSETSID
PROCMGR_SESSION_SETSID
PROCMGR_SESSION_SETPGRP
PROCMGR_SESSION_SIGNAL_PID
PROCMGR_SESSION_SIGNAL_PGRP
PROCMGR_SESSION_SIGNAL_LEADER

Интерпретация аргументов зависит от события.

Библиотека:

libc

Описание:

Функция procmgr_session() обеспечивает поддержку сессий к терминалам символьных устройств на уровне менеджеров ресурсов, библиотечных функциях C и приложениях управления сессиями.

Аргументы функции должны соответствовать выбранному событию:

PROCMGR_SESSION_TCSETSID
Используется функцией tcsetsid() для установки дескриптора файла id в качестве управляющего терминала сессии, возглавляемой лидером сессии sid.
PROCMGR_SESSION_SETSID
Используется функцией setsid() для создания новой сессии, в которой вызывающий процесс становится лидером сессии. ПРи этом аргументы sid и id должны быть равны 0.
PROCMGR_SESSION_SETPGRP
Используется менеджером ресурсов символьных устройств для изменения группы процессов по запросу клиента, вызывающего функцию tcsetpgrp(). Аргумент sid должен представлять текущую сессию клиента, аргумент id — его новую целевую группу процессов.
PROCMGR_SESSION_SIGNAL_PID
PROCMGR_SESSION_SIGNAL_PGRP
PROCMGR_SESSION_SIGNAL_LEADER
Все эти 3 вида событий используются менеджером ресурсов символьного устройства для сброса сигнала типа id (обычно сигнал управления терминалом/заданием) у соответствующего члене сессии, указанного в sid.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

setsid(), tcsetpgrp(), tcsetsid()




Предыдущий раздел: Описание API системной библиотеки