DCMD_PROC_EVENT

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

Прототип:

#include <sys/procfs.h>
#define DCMD_PROC_EVENT __DIOT( _DCMD_PROC, __PROC_SUBCMD_PROCFS + 17, struct sigevent )

Аргументы:

filedes
Файловый дескриптор процесса (открытый файл /proc/PID/as).
dcmd
DCMD_PROC_EVENT.
dev_data_ptr
Указатель на struct sigevent.
n_bytes
Размер структуры struct sigevent, полученный с помсощью sizeof().
dev_info_ptr
NULL.

Описание:

Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда позволяет установить событие, которое будет доставлено при достижении некоторой точки интереса процессом, ассоциированным с filedes.

Для определения точки интереса используется команда DCMD_PROC_RUN.


Note: Команда DCMD_PROC_EVENT не будет функционировать до тех пор, пока не установлен флаг _DEBUG_RUN_ARM в поле flags структуры procfs_run (см. DCMD_PROC_RUN).

Данная команда аналогична DCMD_PROC_WAITSTOP, за исключением того, что она не блокирует вызывающий процесс.

Исходящие данные:

Заполненная структура struct sigevent, которая должна быть доставлена в установленное время.

Входящие данные:

Отсутствуют.

Примеры:

struct sigevent event;
/* Define a sigevent for process stopped notification. */
event.sigev_notify = SIGEV_SIGNAL_THREAD;
event.sigev_signo = SIGUSR2;
event.sigev_code = 0;
event.sigev_value.sival_ptr = prp;
event.sigev_priority = -1;
devctl( fd, DCMD_PROC_EVENT, &event, sizeof( event ), NULL );

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

pthread_join(), MsgReply(), InterruptWait(), MsgDeliverEvent(), MsgReceive(), MsgSend(), MsgSendPulse(), nanosleep(), pthread_cancel(), pthread_cond_wait(), pthread_create(), pthread_exit(), pthread_mutex_lock(), sigaction(), struct sigaction, SignalAction(), SignalKill(), sigsuspend(), sigwaitinfo(), SyncSemWait(), ThreadCreate()




Предыдущий раздел: перейти