Keywords - P
 · ! · 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 · 
- P_NOWAIT
 
- 
			·
			Starting a process with the exec() and spawn() calls ·
			Starting a process with the fork() call ·
 
- P_NOWAITO
 
- 
			·
			Starting a process with the exec() and spawn() calls ·
 
- P_OVERLAY
 
- 
			·
			Starting a process with the exec() and spawn() calls ·
 
- P_WAIT
 
- 
			·
			Starting a process with the exec() and spawn() calls ·
 
- PATH
 
- 
			·
			Starting a process with the exec() and spawn() calls ·
 
- pathname
 
- 
	
	- pollution
 
	- 
			·
			Finding the server's ND/PID/CHID ·
	
 
	
	
	- registering
 
	- 
			·
			The resource manager's view ·
	
 
	
	
	- resolving
 
	- 
			·
			Finding the server ·
	
 
	
 
- pathname delimiter in QNX documentation
 
- 
			·
			Note to Windows users ·
 
- pathname space
 
- 
			·
			Finding the server ·
	
	- and procnto
 
	- 
			·
			Finding the server ·
	
 
	
	
	- defined
 
	- 
			·
			Finding the server ·
	
 
	
 
- PDP-8
 
- 
	
	- and Neutrino
 
	- 
			·
			Glossary ·
	
 
	
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
 
- periodic timer
 
- 
			·
			Types of timers ·
			What kind of timer? ·
	
	- example
 
	- 
			·
			What kind of timer? ·
	
 
	
	
	- power saving
 
	- 
			·
			Summary ·
	
 
	
	
	- server maintenance
 
	- 
			·
			Periodic server maintenance cycles ·
	
 
	
	
	- servers
 
	- 
			·
			A server with periodic pulses ·
	
 
	
		
		See also
		repeating timer 
		
 
- philosophy of Neutrino
 
- 
			·
			The philosophy of Neutrino ·
 
- physical address
 
- 
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
 
- pidin
 
- 
			·
			A few examples ·
			Message passing and client/server ·
 
- platforms
 
- 
	
	- PDP-8
 
	- 
			·
			Glossary ·
	
 
	
 
- polling
 
- 
	
	- for completion of thread
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- timer
 
	- 
			·
			Periodic server maintenance cycles ·
	
 
	
 
- pool, threads
 
- 
		See
		thread 
 
- POOL_FLAG_EXIT_SELF
 
- 
			·
			Controlling the number of threads ·
 
- POOL_FLAG_USE_SELF
 
- 
			·
			Controlling the number of threads ·
 
- POSIX
 
- 
	
	- signals
 
	- 
			·
			Timers delivering signals ·
	
 
	
 
- POSIX thread
 
- 
		See
		thread 
 
- _POSIX_DEVDIR_FROM
 
- 
			·
			io_devctl() ·
 
- _POSIX_DEVDIR_TO
 
- 
			·
			io_devctl() ·
 
- power saving
 
- 
			·
			Summary ·
 
- pread()
 
- 
			·
			Step 2 ·
 
- printf()
 
- 
			·
			Starting a process with the fork() call ·
 
- priority
 
- 
	
	- boosting
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- inversion
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- message passing
 
	- 
			·
			What about priorities? ·
	
 
	
	
	- thread analogy
 
	- 
			·
			Priorities ·
	
 
	
 
- priority inheritance
 
- 
			·
			Priority inheritance ·
	
	- undoing
 
	- 
			·
			So what's the trick? ·
	
 
	
 
- priority inversion
 
- 
			·
			Priority inheritance ·
	
	- defined
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- example
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- fixed by priority inheritance
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- solution
 
	- 
			·
			Priority inheritance ·
	
 
	
	
	- starving CPU
 
	- 
			·
			Priority inheritance ·
	
 
	
 
- process
 
- 
	
	- abstraction
 
	- 
			·
			Multiple processes ·
	
 
	
	
	- aid to maintainability
 
	- 
			·
			Why processes? ·
	
 
	
	
	- aid to reliability
 
	- 
			·
			Why processes? ·
	
 
	
	
	- and threads
 
	- 
			·
			Multiple threads ·
	
 
	
	
	- associating with interrupt handler
 
	- 
			·
			The flags parameter ·
	
 
	
	
	- background
 
	- 
			·
			Starting a process from the command line ·
	
 
	
	
	- child
 
	- 
			·
			Starting a process with the fork() call ·
	
 
	
	
	- consisting of threads
 
	- 
			·
			Threads and processes ·
	
 
	
	
	- context-switch
 
	- 
			·
			Why processes? ·
	
 
	
	
	- coupling
 
	- 
			·
			Multiple processes ·
			Multiple processes with shared memory ·
			Multiple threads ·
	
 
	
	
	- creating
 
	- 
			·
			Starting a process from within a program ·
			Starting a process with the exec() and spawn() calls ·
			Starting a process with the fork() call ·
			Starting a process with the system() call ·
	
 
	
	
	- creating from program
 
	- 
			·
			Starting a process from within a program ·
		
		- exec() family
 
		- 
			·
			Starting a process from within a program ·
			Starting a process with the exec() and spawn() calls ·
		
 
		
		
		- fork()
 
		- 
			·
			Starting a process from within a program ·
			Starting a process with the fork() call ·
		
 
		
		
		- spawn() family
 
		- 
			·
			Starting a process from within a program ·
			Starting a process with the exec() and spawn() calls ·
		
 
		
		
		- system()
 
		- 
			·
			Starting a process from within a program ·
			Starting a process with the system() call ·
		
 
		
		
		- vfork()
 
		- 
			·
			Starting a process from within a program ·
			Starting a process with the vfork() call ·
		
 
		
	 
	
	
	- decoupling
 
	- 
			·
			Comparisons ·
	
 
	
	
	- decoupling of design
 
	- 
			·
			Why processes? ·
	
 
	
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
	
	- distributability
 
	- 
			·
			Comparisons ·
	
 
	
	
	- fork()
 
	- 
			·
			Starting a process with the fork() call ·
	
 
	
	
	- in system
 
	- 
			·
			Threads and processes ·
	
 
	
	
	- multi-threaded
 
	- 
			·
			Multi threaded ·
	
 
	
	
	- mutex
 
	- 
			·
			Additional Neutrino services ·
	
 
	
	
	- network distributed
 
	- 
			·
			Comparisons ·
	
 
	
	
	- parent
 
	- 
			·
			Starting a process with the fork() call ·
	
 
	
	
	- scalability
 
	- 
			·
			Comparisons ·
	
 
	
	
	- shared memory
 
	- 
			·
			Multiple processes with shared memory ·
	
 
	
	
	- single-threaded
 
	- 
			·
			Single threaded ·
	
 
	
	
	- starting
 
	- 
			·
			Starting a process ·
	
 
	
	
	- starting from shell
 
	- 
			·
			Starting a process from the command line ·
	
 
	
	
	- thread
 
	- 
			·
			Multiple processes with shared memory ·
			Process and thread fundamentals ·
	
 
	
 
- process ID
 
- 
			·
			Establishing a connection ·
	
	- getppid()
 
	- 
			·
			Finding the server's ND/PID/CHID ·
	
 
	
	
	- how to find
 
	- 
			·
			Finding the server's ND/PID/CHID ·
	
 
	
	
	- message passing
 
	- 
			·
			Finding the server's ND/PID/CHID ·
	
 
	
	
	- process manager
 
	- 
			·
			Finding the process manager ·
	
 
	
 
- process IDs
 
- 
		See
		PIDs 
 
- process manager
 
- 
	
	- channel ID
 
	- 
			·
			Finding the process manager ·
	
 
	
	
	- finding
 
	- 
			·
			Finding the process manager ·
	
 
	
	
	- node descriptor
 
	- 
			·
			Finding the process manager ·
	
 
	
	
	- process ID
 
	- 
			·
			Finding the process manager ·
	
 
	
 
- processing interrupts
 
- 
			·
			Telling a thread to do something ·
 
- procnto
 
- 
			·
			Finding the server ·
			Message passing and client/server ·
 
- producer
 
- 
	
	- and consumer
 
	- 
			·
			Sleepon locks ·
		
		- state analysis
 
		- 
			·
			Sleepon locks ·
		
 
		
	 
	
	
	- and consumer using condvars
 
	- 
		
		- example
 
		- 
			·
			Condition variables ·
		
 
		
	 
	
 
- pthread_atfork()
 
- 
			·
			Process creation and threads ·
			So what should you use? ·
 
- pthread_attr_destroy()
 
- 
			·
			The thread attributes structure ·
			Thread attribute administration ·
 
- pthread_attr_getdetachstate()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getguardsize()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getinheritsched()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getschedparam()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getschedpolicy()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getscope()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getstackaddr()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getstacklazy()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_getstacksize()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_init()
 
- 
			·
			The thread attributes structure ·
			Thread attribute administration ·
 
- pthread_attr_set() family
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_setdetachstate()
 
- 
			·
			The “flags” thread attribute ·
			The thread attributes structure ·
 
- pthread_attr_setguardsize()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_setinheritsched()
 
- 
			·
			The “flags” thread attribute ·
			The “scheduling” thread attributes ·
			The thread attributes structure ·
 
- pthread_attr_setschedparam()
 
- 
			·
			The “flags” thread attribute ·
			The “scheduling” thread attributes ·
			The thread attributes structure ·
 
- pthread_attr_setschedpolicy()
 
- 
			·
			The “flags” thread attribute ·
			The “scheduling” thread attributes ·
			The thread attributes structure ·
 
- pthread_attr_setscope()
 
- 
			·
			The “flags” thread attribute ·
			The thread attributes structure ·
 
- pthread_attr_setstackaddr()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_setstacklazy()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_setstacksize()
 
- 
			·
			The thread attributes structure ·
 
- pthread_attr_t
 
- 
			·
			The thread attributes structure ·
	
	- defined
 
	- 
			·
			The thread attributes structure ·
	
 
	
 
- pthread_barrier_init()
 
- 
			·
			Using a barrier ·
	
	- example
 
	- 
			·
			Using a barrier ·
	
 
	
 
- pthread_barrier_wait()
 
- 
			·
			Glossary ·
			Synchronizing to the termination of a thread ·
			Using a barrier ·
	
	- example
 
	- 
			·
			Using a barrier ·
	
 
	
 
- pthread_cancel()
 
- 
			·
			Rescheduling — kernel calls ·
			What about the other versions? ·
 
- pthread_cond_broadcast()
 
- 
			·
			Signal versus broadcast ·
 
- pthread_cond_signal()
 
- 
			·
			Condition variables ·
			Signal versus broadcast ·
	
	- example
 
	- 
			·
			Condition variables ·
	
 
	
 
- pthread_cond_t
 
- 
			·
			Condition variables ·
 
- pthread_cond_wait()
 
- 
			·
			Condition variables ·
			Sleepons versus condvars ·
	
	- example
 
	- 
			·
			Condition variables ·
	
 
	
 
- pthread_create()
 
- 
			·
			A few examples ·
			Joining ·
			Process creation and threads ·
			Starting a thread ·
			The thread attributes structure ·
			Thread support ·
	
	- example
 
	- 
			·
			A few examples ·
			Condition variables ·
			Threads in mathematical operations ·
			Using a barrier ·
	
 
	
 
- PTHREAD_EXPLICIT_SCHED
 
- 
			·
			The “scheduling” thread attributes ·
 
- pthread_join()
 
- 
			·
			Joining ·
			Kernel timeouts ·
			Kernel timeouts with pthread_join() ·
			Rescheduling — kernel calls ·
			Synchronizing to the termination of a thread ·
			The “flags” thread attribute ·
			Using a barrier ·
	
	- example
 
	- 
			·
			Joining ·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- explanation
 
	- 
			·
			Joining ·
	
 
	
	
	- non-blocking
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- timeout
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
	
	- with timeout
 
	- 
			·
			Kernel timeouts with pthread_join() ·
	
 
	
 
- pthread_mutex_lock()
 
- 
			·
			Additional Neutrino services ·
			Condition variables ·
			Thread support ·
	
	- example
 
	- 
			·
			Condition variables ·
	
 
	
 
- pthread_mutex_timedlock()
 
- 
			·
			CLOCK_MONOTONIC ·
 
- pthread_mutex_unlock()
 
- 
			·
			Additional Neutrino services ·
			Condition variables ·
	
	- example
 
	- 
			·
			Condition variables ·
	
 
	
 
- pthread_rwlock_destroy()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_init()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_rdlock()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_t
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_tryrdlock()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_unlock()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlock_wrlock()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlockattr_destroy()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlockattr_getpshared()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlockattr_init()
 
- 
			·
			Readers/writer locks ·
 
- pthread_rwlockattr_setpshared()
 
- 
			·
			Readers/writer locks ·
 
- pthread_setschedparam()
 
- 
			·
			Priorities ·
			So what's the trick? ·
 
- pthread_setschedprio()
 
- 
			·
			Priorities ·
			So what's the trick? ·
 
- pthread_sleepon_broadcast()
 
- 
			·
			Signal versus broadcast ·
			Sleepon locks ·
 
- pthread_sleepon_lock()
 
- 
			·
			Condition variables ·
			Sleepon locks ·
	
	- example
 
	- 
			·
			Sleepon locks ·
	
 
	
 
- pthread_sleepon_signal()
 
- 
			·
			Condition variables ·
			Signal versus broadcast ·
			Sleepon locks ·
	
	- example
 
	- 
			·
			Sleepon locks ·
	
 
	
 
- pthread_sleepon_unlock()
 
- 
			·
			Condition variables ·
			Sleepon locks ·
	
	- example
 
	- 
			·
			Sleepon locks ·
	
 
	
 
- pthread_sleepon_wait()
 
- 
			·
			Condition variables ·
			Sleepon locks ·
	
	- example
 
	- 
			·
			Sleepon locks ·
	
 
	
 
- PTHREAD_STACK_LAZY
 
- 
			·
			The “stack” thread attributes ·
 
- PTHREAD_STACK_NOTLAZY
 
- 
			·
			The “stack” thread attributes ·
 
- pthread_t
 
- 
			·
			Joining ·
			Starting a thread ·
 
- pthreads, defined
 
- 
			·
			Glossary ·
 
- pulse
 
- 
	
	- content
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- defined
 
	- 
			·
			Glossary ·
			Pulses ·
	
 
	
	
	- example
 
	- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Receiving a pulse message ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
	
 
	
	
	- excluding messages
 
	- 
			·
			The MsgReceivePulse() function ·
	
 
	
	
	- functions
 
	- 
		
		- pulse_attach()
 
		- 
			·
			The other_func message handler ·
		
 
		
	 
	
	
	- how to tell from messages
 
	- 
			·
			Notes ·
	
 
	
	
	- MsgReceive()
 
	- 
			·
			Receiving a pulse message ·
	
 
	
	
	- MsgReceivePulse()
 
	- 
			·
			Receiving a pulse message ·
	
 
	
	
	- payload content
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- POSIX
 
	- 
			·
			setupPulseAndTimer() ·
	
 
	
	
	- _PULSE_CODE_UNBLOCK
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- range of code member
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- receiving
 
	- 
			·
			Receiving a pulse message ·
	
 
	
	
	- receiving pulses only
 
	- 
			·
			The MsgReceivePulse() function ·
	
 
	
	
	- special
 
	- 
			·
			Kernel timeouts with message passing ·
	
 
	
	
	- struct sigevent
 
	- 
			·
			Summary ·
	
 
	
	
	- synthetic unblock
 
	- 
			·
			_NTO_CHF_UNBLOCK ·
	
 
	
	
	- timeout example
 
	- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
	
 
	
	
	- timers
 
	- 
			·
			Notification schemes ·
	
 
	
	
	- using the code member
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- using the value member
 
	- 
			·
			What's in a pulse? ·
	
 
	
	
	- versus signals
 
	- 
			·
			Signal notification ·
	
 
	
 
- pulse_attach()
 
- 
			·
			The base layer ·
			The other_func message handler ·
 
- _PULSE_CODE_UNBLOCK
 
- 
			·
			What's in a pulse? ·
 
- pulse_detach()
 
- 
			·
			The base layer ·
 
 · ! · 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 ·