Keywords - T
 · ! · 0 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z · 
- tar
 
- 
			·
			Narrow it down ·
	
	- example
 
	- 
			·
			Narrow it down ·
	
 
	
 
- TDP (Transparent Distributed Processing)
 
- 
			·
			More about channels ·
		
		See also
		Qnet 
		
 
- technical support
 
- 
			·
			Contact technical support ·
			Seeking professional help ·
			Technical support ·
	
	- beta versions
 
	- 
			·
			If you're using a beta… ·
		
		- updates
 
		- 
			·
			If you're using a beta… ·
		
 
		
	 
	
	
	- contacting
 
	- 
			·
			Contact technical support ·
	
 
	
	
	- describing the problem
 
	- 
			·
			Describe the problem ·
		
		- be precise
 
		- 
			·
			Precise information ·
		
 
		
	 
	
	
	- narrow it down
 
	- 
			·
			Narrow it down ·
	
 
	
	
	- reproduce the problem
 
	- 
			·
			Reproduce the problem ·
	
 
	
	
	- RTFM
 
	- 
			·
			RTFM ·
	
 
	
	
	- training
 
	- 
			·
			Training ·
	
 
	
 
- telnet
 
- 
			·
			Versions ·
 
- termination synchronization
 
- 
			·
			Joining ·
			Synchronizing to the termination of a thread ·
 
- tfork()
 
- 
			·
			Thread support ·
 
- thread
 
- 
	
	- associating with interrupt handler
 
	- 
			·
			The flags parameter ·
	
 
	
	
	- barriers
 
	- 
			·
			Using a barrier ·
	
 
	
	
	- blocking states
 
	- 
			·
			The kernel as arbiter ·
	
 
	
	
	- concurrent
 
	- 
			·
			Multiple CPU (SMP) ·
	
 
	
	
	- context switch
 
	- 
			·
			The kernel as arbiter ·
	
 
	
	
	- coupling
 
	- 
			·
			Multiple processes with shared memory ·
			Multiple threads ·
	
 
	
	
	- created by timer trigger
 
	- 
			·
			Timers creating threads ·
	
 
	
	
	- creating
 
	- 
		
		- attribute structure initialization
 
		- 
			·
			The thread attributes structure ·
		
 
		
		
		- detached
 
		- 
			·
			The thread attributes structure ·
		
 
		
		
		- example
 
		- 
			·
			Threads in mathematical operations ·
		
 
		
		
		- joinable
 
		- 
			·
			The thread attributes structure ·
		
 
		
		
		- on timer expiry
 
		- 
			·
			Notification schemes ·
		
 
		
		
		- registering exit function
 
		- 
			·
			The thread attributes structure ·
		
 
		
		
		- scheduling parameters
 
		- 
			·
			The thread attributes structure ·
		
 
		
		
		- specifying scheduling policy
 
		- 
			·
			The “scheduling” thread attributes ·
		
 
		
		
		- specifying stack
 
		- 
			·
			The thread attributes structure ·
		
 
		
	 
	
	
	- creating on timer expiration
 
	- 
			·
			Thread notification ·
	
 
	
	
	- creating via struct sigevent
 
	- 
			·
			Thread notification ·
	
 
	
	
	- deadlock
 
	- 
		
		- defined
 
		- 
			·
			Glossary ·
		
 
		
	 
	
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
	
	- design abstraction
 
	- 
			·
			Multiple CPU (SMP) ·
	
 
	
	
	- example of creation
 
	- 
			·
			A few examples ·
	
 
	
	
	- FIFO scheduling
 
	- 
			·
			Scheduling policies ·
	
 
	
	
	- fork()
 
	- 
			·
			So what should you use? ·
	
 
	
	
	- fundamentals
 
	- 
			·
			Process and thread fundamentals ·
	
 
	
	
	- in mathematical operations
 
	- 
			·
			Threads in mathematical operations ·
	
 
	
	
	- in process
 
	- 
			·
			Threads and processes ·
	
 
	
	
	- interrupt interaction
 
	- 
			·
			ISR functions ·
	
 
	
	
	- interrupt interactions
 
	- 
			·
			Using InterruptAttach() ·
	
 
	
	
	- interrupts
 
	- 
			·
			Telling a thread to do something ·
	
 
	
	
	- message passing
 
	- 
			·
			More about channels ·
			Multiple threads ·
	
 
	
	
	- multiple threads
 
	- 
			·
			Multi threaded ·
	
 
	
	
	- mutex
 
	- 
			·
			Mutual exclusion ·
	
 
	
	
	- operating periodically
 
	- 
			·
			Clocks and timers ·
	
 
	
	
	- pidin
 
	- 
			·
			A few examples ·
	
 
	
	
	- polling for completion
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- pool
 
	- 
			·
			Multiple threads ·
			Pools of threads ·
		
		- analysis
 
		- 
			·
			Controlling the number of threads ·
		
 
		
		
		- and SMP
 
		- 
			·
			Multiple threads ·
		
 
		
		
		- example
 
		- 
			·
			Controlling the number of threads ·
		
 
		
		
		- functions
 
		- 
			·
			Pools of threads ·
		
 
		
		
		- message passing
 
		- 
			·
			Multiple threads ·
		
 
		
		
		- POOL_FLAG_EXIT_SELF
 
		- 
			·
			Controlling the number of threads ·
		
 
		
		
		- POOL_FLAG_USE_SELF
 
		- 
			·
			Controlling the number of threads ·
		
 
		
	 
	
	
	- POSIX
 
	- 
			·
			Glossary ·
	
 
	
	
	- postmortem stack analysis
 
	- 
			·
			The “stack” thread attributes ·
	
 
	
	
	- preemption
 
	- 
			·
			Prioritization ·
	
 
	
	
	- priorities
 
	- 
			·
			Priorities ·
	
 
	
	
	- Processes
 
	- 
			·
			Process and thread fundamentals ·
	
 
	
	
	- processes
 
	- 
			·
			Multiple processes with shared memory ·
			Multiple threads ·
	
 
	
	
	- pthread_join()
 
	- 
			·
			Kernel timeouts ·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- readers/writer locks
 
	- 
			·
			Readers/writer locks ·
	
 
	
	
	- readied by timer
 
	- 
			·
			Summary ·
	
 
	
	
	- readying via message pass
 
	- 
			·
			Message passing and client/server ·
	
 
	
	
	- resumption
 
	- 
			·
			Prioritization ·
	
 
	
	
	- RR scheduling
 
	- 
			·
			Scheduling policies ·
	
 
	
	
	- scheduling policies
 
	- 
			·
			Scheduling policies ·
	
 
	
	
	- scheduling policy
 
	- 
			·
			The kernel as arbiter ·
	
 
	
	
	- semaphore
 
	- 
			·
			Semaphores ·
	
 
	
	
	- single threads
 
	- 
			·
			Single threaded ·
	
 
	
	
	- SMP
 
	- 
			·
			Threads in mathematical operations ·
		
		- and interrupts
 
		- 
			·
			Things to watch out for when using SMP ·
		
 
		
		
		- concurrency
 
		- 
			·
			Things to watch out for when using SMP ·
		
 
		
		
		- determining how many threads to create
 
		- 
			·
			Threads in mathematical operations ·
		
 
		
		
		- timing diagram
 
		- 
			·
			Multiple threads on a single CPU ·
		
 
		
	 
	
	
	- soaker
 
	- 
			·
			Multiple threads on a single CPU ·
	
 
	
	
	- stack
 
	- 
			·
			The “stack” thread attributes ·
	
 
	
	
	- states
 
	- 
		
		- receive-blocked
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- receive-blocked diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- reply-blocked
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- reply-blocked diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- send-blocked
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- send-blocked diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_READY
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_RECV 
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_RECV diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_REPLY 
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_REPLY diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_SEND 
 
		- 
			·
			Message passing and client/server ·
		
 
		
		
		- STATE_SEND diagram
 
		- 
			·
			Message passing and client/server ·
		
 
		
	 
	
	
	- synchronizing to termination of
 
	- 
			·
			Joining ·
			Synchronizing to the termination of a thread ·
	
 
	
	
	- utilizing SMP
 
	- 
			·
			Multiple threads on a single CPU ·
	
 
	
	
	- where to use
 
	- 
			·
			Threads in independent situations ·
			Where a thread is a good idea ·
	
 
	
 
- thread pool
 
- 
	
	- message passing
 
	- 
			·
			The MsgReceivePulse() function ·
	
 
	
 
- thread_pool() family
 
- 
			·
			Multiple threads ·
 
- thread_pool_attr_t
 
- 
			·
			Pools of threads ·
 
- thread_pool_control()
 
- 
			·
			Pools of threads ·
 
- thread_pool_create()
 
- 
			·
			Controlling the number of threads ·
			Pools of threads ·
	
	- example
 
	- 
			·
			Controlling the number of threads ·
	
 
	
 
- thread_pool_destroy()
 
- 
			·
			Pools of threads ·
 
- thread_pool_limits()
 
- 
			·
			Pools of threads ·
 
- thread_pool_start()
 
- 
			·
			Controlling the number of threads ·
			Pools of threads ·
	
	- example
 
	- 
			·
			Controlling the number of threads ·
	
 
	
 
- ThreadCtl()
 
- 
			·
			Now that you've attached an interrupt ·
 
- ticksize
 
- 
			·
			Round Robin ·
 
- time
 
- 
	
	- adjusting forwards or backwards
 
	- 
			·
			Getting and setting ·
	
 
	
	
	- adjusting gradually
 
	- 
			·
			Getting and setting ·
	
 
	
	
	- discontinuities in flow
 
	- 
			·
			Getting and setting ·
	
 
	
	
	- retarding flow of
 
	- 
			·
			Getting and setting ·
	
 
	
	
	- synchronizing current time of day
 
	- 
			·
			Getting and setting ·
	
 
	
 
- time()
 
- 
			·
			What kind of timer? ·
 
- timebase
 
- 
			·
			Adjusting the timebase ·
 
- timeout
 
- 
			·
			Kernel timeouts ·
	
	- and kernel states
 
	- 
			·
			Kernel timeouts ·
	
 
	
	
	- arming
 
	- 
			·
			Kernel timeouts ·
			Kernel timeouts with message passing ·
	
 
	
	
	- clearing
 
	- 
			·
			Kernel timeouts ·
	
 
	
	
	- kernel timeouts
 
	- 
			·
			Notes ·
	
 
	
	
	- pthread_join()
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- server-driven
 
	- 
			·
			Notes ·
	
 
	
	
	- server-maintained
 
	- 
			·
			Server-maintained timeouts ·
		
		- example
 
		- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
		
 
		
	 
	
	
	- triggering
 
	- 
			·
			Kernel timeouts ·
	
 
	
	
	- unblocking
 
	- 
		
		- client
 
		- 
			·
			_NTO_CHF_UNBLOCK ·
		
 
		
	 
	
	
	- with pthread_join()
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
 
- timeout notification
 
- 
			·
			Notification schemes ·
	
	- pulse
 
	- 
			·
			Pulse notification ·
	
 
	
	
	- signal
 
	- 
			·
			Signal notification ·
	
 
	
 
- timer
 
- 
	
	- 10 millisecond
 
	- 
			·
			Operating periodically ·
	
 
	
	
	- <time.h>
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- absolute
 
	- 
			·
			Summary ·
			Types of timers ·
			What kind of timer? ·
		
		- defined
 
		- 
			·
			Glossary ·
		
 
		
		
		- example
 
		- 
			·
			What kind of timer? ·
		
 
		
	 
	
	
	- accuracy
 
	- 
			·
			Base timing resolution ·
			Clock interrupt sources ·
			Timing jitter ·
	
 
	
	
	- adjusting base timing resolution
 
	- 
			·
			Adjusting the timebase ·
	
 
	
	
	- asynchronous nature
 
	- 
			·
			Timing jitter ·
	
 
	
	
	- behavior if expired
 
	- 
			·
			Base timing resolution ·
	
 
	
	
	- changing resolution
 
	- 
			·
			Getting more precision ·
	
 
	
	
	- CLOCK_MONOTONIC
 
	- 
			·
			Creating a timer ·
	
 
	
	
	- CLOCK_REALTIME
 
	- 
			·
			Creating a timer ·
	
 
	
	
	- CLOCK_SOFTTIME
 
	- 
			·
			Creating a timer ·
	
 
	
	
	- ClockPeriod()
 
	- 
			·
			Getting and setting ·
	
 
	
	
	- converting time formats
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- creating
 
	- 
			·
			Creating a timer ·
	
 
	
	
	- creating a thread
 
	- 
			·
			How to fill in the struct sigevent ·
			Thread notification ·
	
 
	
	
	- creating threads on expiry
 
	- 
			·
			Notification schemes ·
	
 
	
	
	- creating threads on trigger
 
	- 
			·
			Timers creating threads ·
	
 
	
	
	- delivering a pulse
 
	- 
			·
			How to fill in the struct sigevent ·
	
 
	
	
	- delivering a signal
 
	- 
			·
			How to fill in the struct sigevent ·
	
 
	
	
	- diagram showing big picture
 
	- 
			·
			Clock interrupt sources ·
	
 
	
	
	- drift
 
	- 
			·
			Clock interrupt sources ·
	
 
	
	
	- flags
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- getting and setting the realtime clock
 
	- 
			·
			Getting and setting the realtime clock and more ·
	
 
	
	
	- hardware divider
 
	- 
			·
			Clock interrupt sources ·
	
 
	
	
	- hardware divisor
 
	- 
			·
			Clock interrupt sources ·
	
 
	
	
	- implementation
 
	- 
			·
			Operating periodically ·
			Server-maintained timeouts ·
			Summary ·
			Types of timers ·
	
 
	
	
	- improving accuracy
 
	- 
			·
			Adjusting the timebase ·
	
 
	
	
	- inactivity shutdown
 
	- 
			·
			Periodic server maintenance cycles ·
	
 
	
	
	- jitter
 
	- 
			·
			Timing jitter ·
		
		- diagram
 
		- 
			·
			Timing jitter ·
		
 
		
	 
	
	
	- kernel timeouts
 
	- 
			·
			Summary ·
	
 
	
	
	- limits on base timing resolution
 
	- 
			·
			Adjusting the timebase ·
	
 
	
	
	- one-shot
 
	- 
			·
			Types of timers ·
			What kind of timer? ·
		
		- example
 
		- 
			·
			What kind of timer? ·
		
 
		
	 
	
	
	- periodic
 
	- 
			·
			Types of timers ·
			What kind of timer? ·
		
		- and server maintenance
 
		- 
			·
			Periodic server maintenance cycles ·
		
 
		
		
		- and servers
 
		- 
			·
			A server with periodic pulses ·
		
 
		
		
		- example
 
		- 
			·
			What kind of timer? ·
		
 
		
	 
	
	
	- polling
 
	- 
			·
			Periodic server maintenance cycles ·
	
 
	
	
	- preemption
 
	- 
			·
			Timing jitter ·
	
 
	
	
	- pulse versus signal
 
	- 
			·
			Signal notification ·
	
 
	
	
	- pulses
 
	- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Notification schemes ·
			Pulse notification ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
			The MsgReceivePulse() function ·
	
 
	
	
	- putting a thread on hold
 
	- 
			·
			Operating periodically ·
	
 
	
	
	- readying a thread
 
	- 
			·
			Summary ·
			Timing jitter ·
	
 
	
	
	- relative
 
	- 
			·
			Summary ·
			Types of timers ·
			What kind of timer? ·
		
		- defined
 
		- 
			·
			Glossary ·
		
 
		
		
		- example
 
		- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
			What kind of timer? ·
		
 
		
	 
	
	
	- repeating
 
	- 
		
		- defined
 
		- 
			·
			Glossary ·
		
 
		
	 
	
	
	- resolving
 
	- 
			·
			Base timing resolution ·
	
 
	
	
	- scheduling an event in the future
 
	- 
			·
			Types of timers ·
	
 
	
	
	- sending a signal
 
	- 
			·
			Signal notification ·
		
		- specifying code number
 
		- 
			·
			Signal notification ·
		
 
		
		
		- specifying signal number
 
		- 
			·
			Signal notification ·
		
 
		
	 
	
	
	- setting type
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- SIGALRM
 
	- 
			·
			Timers delivering signals ·
	
 
	
	
	- SIGEV_THREAD
 
	- 
			·
			How to fill in the struct sigevent ·
	
 
	
	
	- signals
 
	- 
			·
			Notification schemes ·
			Timers delivering signals ·
		
		- specifying a signal
 
		- 
			·
			Timers delivering signals ·
		
 
		
	 
	
	
	- SIGUSR1
 
	- 
			·
			Timers delivering signals ·
	
 
	
	
	- specifying sub-second values
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- starting
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- struct itimerspec
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- struct sigevent
 
	- 
			·
			How to fill in the struct sigevent ·
	
 
	
	
	- struct timespec
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- timeout notification
 
	- 
			·
			Notification schemes ·
		
		- by pulse
 
		- 
			·
			Pulse notification ·
		
 
		
		
		- by signal
 
		- 
			·
			Signal notification ·
		
 
		
	 
	
	
	- TIMER_ABSTIME
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- timer_create()
 
	- 
			·
			Creating a timer ·
	
 
	
	
	- timer_settime()
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- types
 
	- 
			·
			Types of timers ·
			What kind of timer? ·
	
 
	
	
	- usage examples
 
	- 
			·
			A server with periodic pulses ·
	
 
	
	
	- using
 
	- 
			·
			Using timers ·
	
 
	
	
	- using pulses with servers
 
	- 
			·
			Pulse notification ·
	
 
	
	
	- warm-up timer
 
	- 
			·
			Periodic server maintenance cycles ·
	
 
	
 
- TIMER_ABSTIME
 
- 
			·
			What kind of timer? ·
 
- timer_create()
 
- 
			·
			CLOCK_MONOTONIC ·
			Creating a timer ·
			setupPulseAndTimer() ·
			Signal, pulse, or thread? ·
			What kind of timer? ·
	
	- example
 
	- 
			·
			setupPulseAndTimer() ·
	
 
	
	
	- flags argument
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- signal example
 
	- 
			·
			Timers delivering signals ·
	
 
	
 
- timer_settime()
 
- 
			·
			setupPulseAndTimer() ·
			What kind of timer? ·
	
	- and TIMER_ABSTIME
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- example
 
	- 
			·
			setupPulseAndTimer() ·
	
 
	
 
- TimerTimeout()
 
- 
			·
			Kernel timeouts ·
			Kernel timeouts with message passing ·
			Kernel timeouts with pthread_join() ·
			Message passing ·
			_NTO_CHF_UNBLOCK ·
			The receive ID (a.k.a. the client cookie) ·
	
	- and CLOCK_REALTIME
 
	- 
			·
			Kernel timeouts ·
	
 
	
	
	- example
 
	- 
			·
			Kernel timeouts with message passing ·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- specifying multiple kernel states
 
	- 
			·
			Kernel timeouts with message passing ·
	
 
	
 
- timeslice
 
- 
			·
			Round Robin ·
 
- timestamps
 
- 
			·
			An accurate timestamp ·
 
- timing
 
- 
	
	- busy wait
 
	- 
			·
			Operating periodically ·
	
 
	
	
	- fine grained
 
	- 
			·
			Operating periodically ·
	
 
	
	
	- high accuracy
 
	- 
			·
			An accurate timestamp ·
	
 
	
	
	- hogging CPU
 
	- 
			·
			Operating periodically ·
	
 
	
	
	- using ClockCycles()
 
	- 
			·
			An accurate timestamp ·
	
 
	
 
- tips
 
- 
	
	- broadcast versus signal
 
	- 
			·
			Signal versus broadcast ·
	
 
	
	
	- SMP gotchas
 
	- 
			·
			Things to watch out for when using SMP ·
	
 
	
	
	- when to use condvar
 
	- 
			·
			Sleepons versus condvars ·
	
 
	
	
	- when to use sleepon
 
	- 
			·
			Sleepons versus condvars ·
	
 
	
	
	- where to use a thread
 
	- 
			·
			Threads in independent situations ·
			Where a thread is a good idea ·
	
 
	
 
- Transparent Distributed Processing (TDP)
 
- 
			·
			More about channels ·
		
		See also
		Qnet 
		
 
- Trigger() (QNX 4)
 
- 
			·
			Proxies ·
 
- triggering timeouts
 
- 
			·
			Kernel timeouts ·
 
- Trunley, Paul
 
- 
			·
			Preface to the First Edition by Rob Krten ·
 
- typographical conventions
 
- 
			·
			Typographical conventions ·
 
 · ! · 0 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z ·