DCMD_PROC_THREADCTL

Выполнение ThreadCtl() для произвольного процесса и потока

Прототип:

#include <sys/procfs.h>
#define DCMD_PROC_THREADCTL __DIOTF( _DCMD_PROC, __PROC_SUBCMD_PROCFS + 27, procfs_threadctl )

Аргументы:

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

Описание:

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

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

Заполненная структура procfs_threadctl.

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

Заполненная структура procfs_threadctl.

Примеры:

procfs_threadctl tctl;
tctl.tid = tid;
tctl.cmd = _NTO_TCTL_NAME;
tn = (struct _thread_name *)(&tctl.data);
tn->name_buf_len = sizeof( tctl.data ) - sizeof( *tn );
/* We can only communicate a maximum buffer size via devctl() */
if ( newname_len > tn->name_buf_len || prevname_len > tn->name_buf_len )
return (E2BIG);
tn->new_name_len = newname_len;
if ( newname_len > 0 )
memcpy( tn->name_buf, newname, newname_len );
devctl( fd, DCMD_PROC_THREADCTL, &tctl, sizeof( tctl ), NULL );

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

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




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