Keywords - S
· ! · 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 ·
- _SC_PAGESIZE
-
·
The “stack” thread attributes ·
- scalability
-
·
Comparisons ·
- due to modularity
-
·
A small microkernel and message passing ·
- over network of SMP
-
·
Multi-threaded server ·
- scatter/gather
-
- defined
-
·
Glossary ·
- operation
-
·
Multipart messages ·
- SCHED_FIFO
-
·
The “scheduling” thread attributes ·
- sched_get_priority_max()
-
·
Prioritization ·
- sched_get_priority_min()
-
·
Prioritization ·
- SCHED_OTHER
-
·
The “scheduling” thread attributes ·
- SCHED_RR
-
·
The “scheduling” thread attributes ·
- sched_rr_get_interval()
-
·
Round Robin ·
- sched_yield()
-
·
FIFO ·
- scheduling
-
·
Scheduling and the real world ·
- algorithms
-
·
Scheduling policies ·
- FIFO
-
·
Scheduling policies ·
- RR
-
·
Scheduling policies ·
- events in the future using timers
-
·
Types of timers ·
- faults
-
·
Rescheduling — exceptions ·
Scheduling and the real world ·
- FIFO
-
- defined
-
·
Glossary ·
- hardware interrupts
-
·
Operating periodically ·
Rescheduling — hardware interrupts ·
Scheduling and the real world ·
- impact of interrupts
-
·
Interrupt service routine ·
- interrupts
-
·
Neutrino and interrupts ·
Rescheduling — hardware interrupts ·
- kernel calls
-
·
Operating periodically ·
Rescheduling — kernel calls ·
Scheduling and the real world ·
- one shot events in the future
-
·
Types of timers ·
- other hardware
-
·
Rescheduling — hardware interrupts ·
- periodic events using timers
-
·
Types of timers ·
- priority zero
-
·
The “scheduling” thread attributes ·
- round robin
-
- defined
-
·
Glossary ·
- SCHED_FIFO
-
·
The “scheduling” thread attributes ·
- SCHED_OTHER
-
·
The “scheduling” thread attributes ·
- SCHED_RR
-
·
The “scheduling” thread attributes ·
- the realtime clock
-
·
Rescheduling — hardware interrupts ·
- thread creation
-
·
The thread attributes structure ·
- timers
-
·
Rescheduling — hardware interrupts ·
- scheduling scope
-
·
The “flags” thread attribute ·
- SchedYield()
-
·
FIFO ·
- SEM
-
·
The blocked states ·
- sem_post()
-
·
Glossary ·
- sem_wait()
-
·
Glossary ·
- semaphore
-
- defined
-
·
Glossary ·
- in analogy
-
·
Semaphores ·
- send hierarchy
-
- avoiding deadlock
-
·
The send-hierarchy ·
- breaking
-
·
The MsgDeliverEvent() function ·
The send-hierarchy ·
- implementation
-
·
The MsgDeliverEvent() function ·
- with MsgDeliverEvent()
-
·
The MsgDeliverEvent() function ·
- defined
-
·
Glossary ·
- designing
-
·
The send-hierarchy ·
- struct sigevent
-
·
The MsgDeliverEvent() function ·
- thread
-
·
The MsgDeliverEvent() function ·
- Send() (QNX 4)
-
·
Client/server using the global namespace ·
Message passing ·
- send-blocked
-
·
Message passing and client/server ·
- diagram
-
·
Message passing and client/server ·
- send-blocked state
-
- when abnormal
-
·
Message passing and client/server ·
- when normal
-
·
Message passing and client/server ·
- send-driven model
-
·
Server/subserver ·
- example
-
·
Send-driven (client/server) ·
- important subtlety
-
·
An important subtlety ·
- sending a message
-
- defined
-
·
Glossary ·
- server
-
- acting on unblock pulse
-
·
_NTO_CHF_UNBLOCK ·
- assumptions about client data area
-
·
Reading and writing data ·
- authentication of client
-
·
Who sent the message? ·
- basic operation
-
·
Sending messages ·
- being informed of client unblock
-
·
Kernel timeouts with message passing ·
- binding of client
-
·
The receive ID (a.k.a. the client cookie) ·
- boosting priority
-
·
Priority inheritance ·
- busy
-
·
Message passing and client/server ·
- channels
-
·
More about channels ·
- class of service
-
·
Who sent the message? ·
- client buffer size
-
·
Reading and writing data ·
- client connecting to
-
- diagram
-
·
Creating the channel ·
- client priority
-
·
Who sent the message? ·
- clients with mismatched buffer sizes
-
·
Reading and writing data ·
- creating a channel
-
·
Creating the channel ·
- defined
-
·
Glossary ·
- delivering event to client
-
·
The MsgDeliverEvent() function ·
- endian flags
-
·
Who sent the message? ·
- filesystem example
-
·
Reading and writing data ·
- finding
-
·
Finding the server's ND/PID/CHID ·
- by name
-
·
Finding the server's ND/PID/CHID ·
- global variable
-
·
Finding the server's ND/PID/CHID ·
- global variables
-
·
Finding the server's ND/PID/CHID ·
- resource manager
-
·
Finding the server's ND/PID/CHID ·
- well-known files
-
·
Finding the server's ND/PID/CHID ·
- finding out who sent message
-
·
Who sent the message? ·
- framework
-
·
Server framework ·
- general flow
-
·
The receive ID (a.k.a. the client cookie) ·
- handling big messages
-
·
Reading and writing data ·
- how to handle large transfers
-
·
Reading and writing data ·
- ignoring unblock pulse
-
·
_NTO_CHF_UNBLOCK ·
- limiting transfer size
-
·
Server framework ·
- logging of client
-
·
Who sent the message? ·
- mixing multithreaded and server/subserver
-
·
Server/subserver ·
- multi-threaded
-
·
Multi-threaded server ·
- multiple requests
-
·
Not replying to the client ·
- network distributed
-
·
Server/subserver ·
- node descriptor of client
-
·
Who sent the message? ·
- not replying to client
-
·
Not replying to the client ·
Notes ·
- notifying client
-
·
The MsgDeliverEvent() function ·
- periodic timers
-
·
A server with periodic pulses ·
- phases of message passing
-
·
Message handling ·
- receive ID
-
·
Message handling ·
- reply blocked client
-
·
Message passing and client/server ·
- replying to multiple clients
-
·
Notes ·
- server connection ID
-
·
Who sent the message? ·
- server/subserver
-
·
Server/subserver ·
- delegation of work
-
·
Server/subserver ·
- SMP
-
·
Multi-threaded server ·
Server/subserver ·
- state transition
-
- diagram
-
·
Message passing and client/server ·
- state transitions
-
·
Message passing and client/server ·
- storing the struct sigevent
-
·
The MsgDeliverEvent() function ·
- thread pool
-
·
Pools of threads ·
- thread pools
-
·
Multiple threads ·
- timeouts
-
·
Server-maintained timeouts ·
- unblock pulse handling
-
·
_NTO_CHF_UNBLOCK ·
- unblocked by client
-
·
Message handling ·
- unblocking
-
- client
-
·
Message handling ·
- using MsgInfo()
-
·
Who sent the message? ·
- using MsgReceive()
-
·
Who sent the message? ·
- using pulses for timeouts
-
·
Pulse notification ·
- using signals for timeouts
-
·
Signal notification ·
- verifying validity of event
-
·
The MsgDeliverEvent() function ·
- writing a header later
-
·
Reading and writing data ·
- server/subserver
-
·
Not replying to the client ·
- analogy
-
·
Server/subserver ·
- diagram
-
·
An important subtlety ·
- example
-
·
Reply-driven (server/subserver) ·
- implementation description
-
·
Reply-driven (server/subserver) ·
- message passing
-
·
Multiple threads ·
- SETIOV() macro
-
- defined
-
·
Multipart messages ·
- example
-
·
Multipart messages ·
- setting the time
-
·
Getting and setting the realtime clock and more ·
- setuid()
-
·
Now that you've attached an interrupt ·
- setupPulseAndTimer()
-
·
main() ·
setupPulseAndTimer() ·
- SH_COMPAT
-
·
The iofunc_ocb_t OCB structure ·
- SH_DENYNO
-
·
The iofunc_ocb_t OCB structure ·
- SH_DENYRD
-
·
The iofunc_ocb_t OCB structure ·
- SH_DENYRW
-
·
The iofunc_ocb_t OCB structure ·
- SH_DENYWR
-
·
The iofunc_ocb_t OCB structure ·
- shared memory
-
·
Multiple processes with shared memory ·
- versus network
-
·
Comparisons ·
- sharing interrupts
-
·
Level-sensitivity versus edge-sensitivity ·
- diagram
-
·
Level-sensitivity versus edge-sensitivity ·
- SIGALRM
-
·
Signal notification ·
Timers delivering signals ·
- SIGEV_INTR
-
·
General tricks for notification ·
How to fill in the struct sigevent ·
The trade-offs ·
Using InterruptAttachEvent() ·
- and interrupts
-
·
The trade-offs ·
Using InterruptAttachEvent() ·
- and InterruptWait()
-
·
Using InterruptAttachEvent() ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
- SIGEV_INTR_INIT() (macro)
-
·
General tricks for notification ·
- sigev_notify_function()
-
·
Thread notification ·
- SIGEV_PULSE
-
·
How to fill in the struct sigevent ·
Pulse notification ·
setupPulseAndTimer() ·
Using InterruptAttachEvent() ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
setupPulseAndTimer() ·
- SIGEV_PULSE_INIT()
-
·
setupPulseAndTimer() ·
- SIGEV_PULSE_INIT() (macro)
-
·
General tricks for notification ·
- example
-
·
setupPulseAndTimer() ·
- SIGEV_PULSE_PRIO_INHERIT
-
·
General tricks for notification ·
setupPulseAndTimer() ·
- SIGEV_SIGNAL
-
·
General tricks for notification ·
How to fill in the struct sigevent ·
Signal notification ·
Using InterruptAttachEvent() ·
- and interrupts
-
·
Using InterruptAttachEvent() ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
Signal notification ·
- SIGEV_SIGNAL family
-
·
How to fill in the struct sigevent ·
- SIGEV_SIGNAL_CODE
-
·
General tricks for notification ·
How to fill in the struct sigevent ·
Signal notification ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
Signal notification ·
- SIGEV_SIGNAL_CODE_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_PULSE
-
·
General tricks for notification ·
- SIGEV_SIGNAL_THREAD
-
·
General tricks for notification ·
How to fill in the struct sigevent ·
Signal notification ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
Signal notification ·
- SIGEV_SIGNAL_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_THREAD
-
·
How to fill in the struct sigevent ·
Thread notification ·
Using InterruptAttachEvent() ·
- and interrupts
-
·
Using InterruptAttachEvent() ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
- SIGEV_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- example
-
·
Timers creating threads ·
- SIGEV_UNBLOCK
-
·
General tricks for notification ·
How to fill in the struct sigevent ·
Kernel timeouts ·
Kernel timeouts with pthread_join() ·
- and struct sigevent
-
·
How to fill in the struct sigevent ·
Kernel timeouts ·
- example
-
·
Kernel timeouts with pthread_join() ·
- SIGEV_UNBLOCK_INIT() (macro)
-
·
General tricks for notification ·
Kernel timeouts with pthread_join() ·
- example
-
·
Kernel timeouts with pthread_join() ·
- signal
-
- defined
-
·
Glossary ·
- floating-point operations aren't safe to use in handlers
-
·
Signal notification ·
- SIGALRM
-
·
Timers delivering signals ·
- SIGUSR1
-
·
Timers delivering signals ·
- struct sigevent
-
·
Summary ·
- timers
-
·
Notification schemes ·
Timers delivering signals ·
- versus pulses
-
·
Signal notification ·
- SIGSEGV
-
·
The “stack” thread attributes ·
- SIGUSR1
-
·
Timers delivering signals ·
- sigwait()
-
·
Signal notification ·
- sleep()
-
·
Kernel states, the complete list ·
Operating periodically ·
Other clock sources ·
Rescheduling — kernel calls ·
- bad implementation
-
·
Operating periodically ·
- sleepon locks
-
See
synchronization
- slowing down time
-
·
Getting and setting ·
- SMP
-
·
A small microkernel and message passing ·
Multiple CPU (SMP) ·
- application
-
·
Multiple threads on a single CPU ·
- atomic operations
-
·
Things to watch out for when using SMP ·
- coding for SMP or single processor
-
·
Coding for SMP or single processor ·
- concurrency
-
·
Things to watch out for when using SMP ·
- condvars
-
·
Sleepons versus condvars ·
- constraints
-
·
Multiple threads on a single CPU ·
- creating enough threads
-
·
Threads in mathematical operations ·
- in a networked system
-
·
Multiple threads ·
- interrupts
-
·
ISR functions ·
Things to watch out for when using SMP ·
- message passing
-
·
Multiple threads ·
- multiple threads
-
·
Multiple threads on a single CPU ·
- scalability
-
·
Multi-threaded server ·
- soaker thread
-
·
Multiple threads on a single CPU ·
- STATE_RUNNING
-
·
RUNNING ·
- thread pools
-
·
Multiple threads ·
- threads
-
·
Threads in mathematical operations ·
- timing
-
- diagram
-
·
Multiple threads on a single CPU ·
- tips
-
·
Things to watch out for when using SMP ·
- underutilization
-
·
Multiple threads on a single CPU ·
- utilization
-
·
Multiple threads on a single CPU ·
- soaker thread
-
·
Multiple threads on a single CPU ·
- spawn()
-
·
Starting a process with the exec() and spawn() calls ·
Starting a process with the fork() call ·
- spawn() family
-
·
So what should you use? ·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
- SPAWN_NOZOMBIE
-
·
Starting a process with the exec() and spawn() calls ·
- spawnl()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnle()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnlp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnlpe()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnv()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnve()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnvp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnvpe()
-
·
Starting a process with the exec() and spawn() calls ·
- speeding time up
-
·
Getting and setting ·
- stack
-
- for thread
-
·
The thread attributes structure ·
- postmortem analysis
-
·
The “stack” thread attributes ·
- stat()
-
·
The library really does what we just talked about ·
The resource manager library ·
- STATE_CONDVAR
-
·
Condition variables ·
Kernel states, the complete list ·
- STATE_DEAD
-
·
Kernel states, the complete list ·
- STATE_INTR
-
·
Kernel states, the complete list ·
- STATE_JOIN
-
·
Kernel states, the complete list ·
- STATE_MUTEX
-
·
Kernel states, the complete list ·
The blocked states ·
- STATE_NANOSLEEP
-
·
Kernel states, the complete list ·
- STATE_NET_REPLY
-
·
Kernel states, the complete list ·
- STATE_NET_SEND
-
·
Kernel states, the complete list ·
- STATE_READY
-
·
Attaching with InterruptAttachEvent() ·
InterruptAttach() versus InterruptAttachEvent() ·
Kernel states, the complete list ·
Message passing and client/server ·
Neutrino and interrupts ·
Notification schemes ·
Operating periodically ·
Priority inheritance ·
Rescheduling — hardware interrupts ·
Rescheduling — kernel calls ·
The blocked states ·
Timing jitter ·
- STATE_READY state
-
·
Message passing and client/server ·
- STATE_RECEIVE
-
·
Kernel states, the complete list ·
- STATE_RECV
-
·
Message passing and client/server ·
Pulse notification ·
So what's the trick? ·
- STATE_RECV state
-
- diagram
-
·
Message passing and client/server ·
- STATE_REPLY
-
·
Kernel states, the complete list ·
Kernel timeouts with message passing ·
Notes ·
_NTO_CHF_UNBLOCK ·
- STATE_REPLY state
-
·
Message passing and client/server ·
- diagram
-
·
Message passing and client/server ·
- STATE_RUNNING
-
·
Kernel states, the complete list ·
Neutrino and interrupts ·
- STATE_SEM
-
·
Kernel states, the complete list ·
The blocked states ·
- STATE_SEND
-
·
Kernel states, the complete list ·
Kernel timeouts with message passing ·
_NTO_CHF_UNBLOCK ·
The MsgReceivePulse() function ·
- STATE_SEND state
-
·
Message passing and client/server ·
- diagram
-
·
Message passing and client/server ·
- STATE_SIGSUSPEND
-
·
Kernel states, the complete list ·
- STATE_SIGWAITINFO
-
·
Kernel states, the complete list ·
- STATE_STACK
-
·
Kernel states, the complete list ·
- STATE_STOPPED
-
·
Kernel states, the complete list ·
- STATE_WAITCTX
-
·
Kernel states, the complete list ·
- STATE_WAITPAGE
-
·
Kernel states, the complete list ·
- STATE_WAITTHREAD
-
·
Kernel states, the complete list ·
- strcmp()
-
·
ISR functions ·
- strdup()
-
·
ISR functions ·
- strftime()
-
·
What kind of timer? ·
- struct _clockadjust
-
·
Getting and setting ·
- struct _clockperiod
-
·
Adjusting the timebase ·
- members
-
·
Adjusting the timebase ·
- struct _io_chmod
-
·
io_chmod() ·
- struct _io_chown
-
·
io_chown() ·
- struct _io_close
-
·
io_close_dup() ·
io_close_ocb() ·
- struct _io_connect
-
·
Connect functions notes ·
End-user parameter part ·
Internal use part ·
io_link() ·
io_mknod() ·
io_mount() ·
io_open() ·
io_readlink() ·
io_rename() ·
io_unlink() ·
- struct _io_connect_link_reply
-
·
io_link() ·
io_mknod() ·
io_mount() ·
io_open() ·
io_readlink() ·
io_rename() ·
io_unlink() ·
- struct _io_devctl
-
·
io_devctl() ·
- struct _io_devctl_reply
-
·
io_devctl() ·
- struct _io_dup
-
·
io_dup() ·
- struct _io_lock
-
·
io_lock() ·
- struct _io_lock_reply
-
·
io_lock() ·
- struct _io_lseek
-
·
io_lseek() ·
- struct _io_mmap
-
·
io_mmap() ·
- struct _io_mmap_reply
-
·
io_mmap() ·
- struct _io_msg
-
·
io_msg() ·
- struct _io_notify
-
·
io_notify() ·
- struct _io_notify_reply
-
·
io_notify() ·
- struct _io_openfd
-
·
io_openfd() ·
- struct _io_pathconf
-
·
io_pathconf() ·
- struct _io_read
-
·
io_read() ·
- struct _io_space
-
·
io_space() ·
- struct _io_stat
-
·
io_stat() ·
- struct _io_sync
-
·
io_sync() ·
- struct _io_utime
-
·
io_utime() ·
- struct _io_write
-
·
io_write() ·
- struct _msg_info
-
·
Impact on MsgReceive() ·
Using the _NTO_MI_UNBLOCK_REQ ·
Who sent the message? ·
- declaration
-
·
Some notes on NDs ·
- fields in
-
·
Who sent the message? ·
- flags
-
·
Impact on MsgReceive() ·
- node descriptors
-
·
Some notes on NDs ·
- struct _pulse
-
·
What's in a pulse? ·
- declaration
-
·
What's in a pulse? ·
- struct _thread_pool_attr
-
- defined
-
·
Pools of threads ·
- members
-
·
The thread pool functions ·
- struct dirent
-
·
io_read() ·
The struct dirent structure and friends ·
- struct itimerspec
-
·
What kind of timer? ·
- defined
-
·
What kind of timer? ·
- example
-
·
setupPulseAndTimer() ·
- example of filling
-
·
What kind of timer? ·
- it_interval member
-
·
What kind of timer? ·
- it_value member
-
·
What kind of timer? ·
- struct sigevent
-
·
Attaching with InterruptAttach() ·
Attaching with InterruptAttachEvent() ·
Glossary ·
How to fill in the struct sigevent ·
Interrupt service routines ·
InterruptAttach() versus InterruptAttachEvent() ·
Kernel timeouts ·
Kernel timeouts with pthread_join() ·
Proxies ·
Pulses and events ·
Signal, pulse, or thread? ·
Summary ·
Telling a thread to do something ·
The MsgDeliverEvent() function ·
Timers creating threads ·
Timers delivering signals ·
Using InterruptAttach() ·
Using InterruptAttachEvent() ·
Using timers ·
- anonymous union
-
·
How to fill in the struct sigevent ·
- creating threads
-
·
Timers creating threads ·
- defined
-
·
How to fill in the struct sigevent ·
- example
-
·
Kernel timeouts with pthread_join() ·
setupPulseAndTimer() ·
- how to initialize
-
·
How to fill in the struct sigevent ·
- interrupts
-
·
Attaching with InterruptAttach() ·
Attaching with InterruptAttachEvent() ·
Using InterruptAttach() ·
Using InterruptAttachEvent() ·
- macros for filling
-
·
General tricks for notification ·
- persistency
-
·
Telling a thread to do something ·
- pulse
-
·
Summary ·
- pulses
-
·
setupPulseAndTimer() ·
- send hierarchy
-
·
The MsgDeliverEvent() function ·
- shortcut initialization
-
·
Kernel timeouts with pthread_join() ·
- sigev_code member
-
·
Pulse notification ·
Signal notification ·
- sigev_coid member
-
·
Pulse notification ·
- SIGEV_INTR
-
·
How to fill in the struct sigevent ·
- sigev_notify member
-
·
How to fill in the struct sigevent ·
Signal notification ·
- sigev_notify_attributes member
-
·
Thread notification ·
- sigev_notify_function member
-
·
Thread notification ·
- sigev_priority member
-
·
Pulse notification ·
- SIGEV_PULSE
-
·
How to fill in the struct sigevent ·
setupPulseAndTimer() ·
- SIGEV_SIGNAL
-
·
How to fill in the struct sigevent ·
Signal notification ·
- SIGEV_SIGNAL_CODE
-
·
How to fill in the struct sigevent ·
Signal notification ·
- SIGEV_SIGNAL_THREAD
-
·
How to fill in the struct sigevent ·
Signal notification ·
- sigev_signo
-
- and pulses
-
·
setupPulseAndTimer() ·
- sigev_signo member
-
·
Signal notification ·
- SIGEV_THREAD
-
·
How to fill in the struct sigevent ·
- SIGEV_UNBLOCK
-
·
How to fill in the struct sigevent ·
Kernel timeouts ·
- sigev_value member
-
·
Pulse notification ·
Thread notification ·
- signal
-
·
Summary ·
- timers
-
·
How to fill in the struct sigevent ·
- struct timespec
-
·
What kind of timer? ·
- defined
-
·
What kind of timer? ·
- structures
-
- attribute
-
- defined
-
·
Glossary ·
- FILE
-
·
Characteristics of resource managers ·
Client summary ·
- iov_t
-
·
Multipart messages ·
- pthread_attr_t
-
·
The thread attributes structure ·
- pthread_cond_t
-
·
Condition variables ·
- pthread_rwlock_t
-
·
Readers/writer locks ·
- pthread_t
-
·
Joining ·
Starting a thread ·
- resmgr_attr_t
-
·
Data structures ·
resmgr_attr_t control structure ·
The resmgr_context_t internal context block ·
- resmgr_connect_funcs_t
-
·
Data structures ·
resmgr_connect_funcs_t connect table ·
- resmgr_context_t
-
·
Data structures ·
resmgr_connect_funcs_t connect table ·
resmgr_io_funcs_t I/O table ·
The data structure sizing parameters ·
The resmgr_context_t internal context block ·
- RESMGR_HANDLE_T
-
·
resmgr_connect_funcs_t connect table ·
- resmgr_io_funcs_t
-
·
Data structures ·
resmgr_connect_funcs_t connect table ·
resmgr_io_funcs_t I/O table ·
- RESMGR_OCB_T
-
·
resmgr_io_funcs_t I/O table ·
- resource manager
-
- io_chmod_t
-
·
io_chmod() ·
- io_chown_t
-
·
io_chown() ·
- io_close_t
-
·
io_close_dup() ·
io_close_ocb() ·
- io_devctl_t
-
·
io_devctl() ·
- io_dup_t
-
·
io_dup() ·
- io_link_extra_t
-
·
io_link() ·
- io_link_t
-
·
io_link() ·
- io_lock_t
-
·
io_lock() ·
- io_lseek_t
-
·
io_lseek() ·
- io_mknod_t
-
·
io_mknod() ·
- io_mmap_t
-
·
io_mmap() ·
- io_mount_t
-
·
io_mount() ·
- io_msg_t
-
·
io_msg() ·
- io_notify_t
-
·
io_notify() ·
- io_open_t
-
·
io_open() ·
io_readlink() ·
- io_openfd_t
-
·
io_openfd() ·
- io_pathconf_t
-
·
io_pathconf() ·
- io_read_t
-
·
io_read() ·
- io_rename_extra_t
-
·
io_rename() ·
- io_rename_t
-
·
io_rename() ·
- io_space_t
-
·
io_space() ·
- io_stat_t
-
·
io_stat() ·
- io_sync_t
-
·
io_sync() ·
- io_unlink_t
-
·
io_unlink() ·
- io_utime_t
-
·
io_utime() ·
- io_write_t
-
·
io_write() ·
- iofunc_attr_t
-
·
POSIX-layer data structures ·
The iofunc_attr_t attributes structure ·
- iofunc_mount_t
-
·
POSIX-layer data structures ·
The iofunc_attr_t attributes structure ·
The iofunc_mount_t mount structure ·
- iofunc_ocb_t
-
·
POSIX-layer data structures ·
The iofunc_ocb_t OCB structure ·
The strange case of the offset member ·
- resmgr_context_t
-
·
General notes ·
- struct _io_chmod
-
·
io_chmod() ·
- struct _io_chown
-
·
io_chown() ·
- struct _io_close
-
·
io_close_dup() ·
io_close_ocb() ·
- struct _io_connect
-
·
Connect functions notes ·
End-user parameter part ·
Internal use part ·
io_link() ·
io_mknod() ·
io_mount() ·
io_open() ·
io_readlink() ·
io_rename() ·
io_unlink() ·
- struct _io_connect_link_reply
-
·
io_link() ·
io_mknod() ·
io_mount() ·
io_open() ·
io_readlink() ·
io_rename() ·
io_unlink() ·
- struct _io_devctl
-
·
io_devctl() ·
- struct _io_devctl_reply
-
·
io_devctl() ·
- struct _io_dup
-
·
io_dup() ·
- struct _io_lock
-
·
io_lock() ·
- struct _io_lock_reply
-
·
io_lock() ·
- struct _io_lseek
-
·
io_lseek() ·
- struct _io_mmap
-
·
io_mmap() ·
- struct _io_mmap_reply
-
·
io_mmap() ·
- struct _io_msg
-
·
io_msg() ·
- struct _io_notify
-
·
io_notify() ·
- struct _io_notify_reply
-
·
io_notify() ·
- struct _io_openfd
-
·
io_openfd() ·
- struct _io_pathconf
-
·
io_pathconf() ·
- struct _io_read
-
·
io_read() ·
- struct _io_space
-
·
io_space() ·
- struct _io_stat
-
·
io_stat() ·
- struct _io_sync
-
·
io_sync() ·
- struct _io_utime
-
·
io_utime() ·
- struct _io_write
-
·
io_write() ·
- struct dirent
-
·
io_read() ·
The struct dirent structure and friends ·
- struct _msg_info
-
·
Channel flags ·
Impact on MsgReceive() ·
Some notes on NDs ·
Using the _NTO_MI_UNBLOCK_REQ ·
Who sent the message? ·
- chid
-
·
Who sent the message? ·
- coid
-
·
Who sent the message? ·
- dstmsglen
-
·
Channel flags ·
- flags
-
·
Who sent the message? ·
- msglen
-
·
Who sent the message? ·
- nd
-
·
Who sent the message? ·
- pid
-
·
Who sent the message? ·
- priority
-
·
Who sent the message? ·
- scoid
-
·
Who sent the message? ·
- srcmsglen
-
·
Channel flags ·
Who sent the message? ·
- srcnd
-
·
Who sent the message? ·
- tid
-
·
Who sent the message? ·
- struct _pulse
-
·
What's in a pulse? ·
- struct itimerspec
-
·
What kind of timer? ·
- it_interval member
-
·
What kind of timer? ·
- it_value member
-
·
What kind of timer? ·
- struct sigevent
-
·
Attaching with InterruptAttach() ·
Attaching with InterruptAttachEvent() ·
Glossary ·
How to fill in the struct sigevent ·
Interrupt service routines ·
InterruptAttach() versus InterruptAttachEvent() ·
Kernel timeouts with pthread_join() ·
Proxies ·
Pulses and events ·
Signal, pulse, or thread? ·
Summary ·
Telling a thread to do something ·
Timers creating threads ·
Timers delivering signals ·
Using InterruptAttach() ·
Using InterruptAttachEvent() ·
Using timers ·
- struct timespec
-
·
What kind of timer? ·
- thread_pool_attr_t
-
·
Pools of threads ·
- union sigval
-
·
What's in a pulse? ·
- sub-second timers
-
·
What kind of timer? ·
- support, technical
-
·
Technical support ·
- synchronization
-
- association of mutex and condvar
-
·
Sleepons versus condvars ·
- barrier
-
·
Summary ·
- defined
-
·
Glossary ·
- condition variable
-
·
Condition variables ·
More on synchronization ·
- defined
-
·
Glossary ·
- condvar
-
·
Summary ·
- versus sleepon
-
·
Condition variables ·
- condvar versus sleepon
-
·
Sleepons versus condvars ·
- deadlock
-
- defined
-
·
Glossary ·
- joining
-
·
Summary ·
- mutex
-
·
Summary ·
- across process boundaries
-
·
Additional Neutrino services ·
- defined
-
·
Glossary ·
- reader/writer lock
-
·
More on synchronization ·
Readers/writer locks ·
- rendezvous
-
·
Using a barrier ·
- semaphore
-
·
Summary ·
- defined
-
·
Glossary ·
- signal versus broadcast
-
·
Signal versus broadcast ·
- sleepon
-
- versus condvar
-
·
Condition variables ·
- sleepon lock
-
·
More on synchronization ·
Sleepon locks ·
Summary ·
- sleepon versus condvar
-
·
Sleepons versus condvars ·
- to termination of thread
-
·
Joining ·
Synchronizing to the termination of a thread ·
- using a barrier
-
·
Using a barrier ·
- synchronizing time of day
-
·
Getting and setting ·
- synchronous
-
- defined
-
·
Glossary ·
See also
asynchronous
- sysconf()
-
·
The “stack” thread attributes ·
- system
-
- as consisting of processes and threads
-
·
Threads and processes ·
- system()
-
·
Starting a process from within a program ·
Starting a process with the system() call ·
· ! · 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 ·