Выполнение ThreadCtl() для произвольного процесса и потока
#include <sys/procfs.h>#define DCMD_PROC_THREADCTL __DIOTF( _DCMD_PROC, __PROC_SUBCMD_PROCFS + 27, procfs_threadctl )
/proc/PID/as
).DCMD_PROC_THREADCTL
.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()
Предыдущий раздел: перейти