Keywords - E
· ! · 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 ·
- edge-sensitive interrupt
-
·
Level-sensitivity versus edge-sensitivity ·
- diagram
-
·
Level-sensitivity versus edge-sensitivity ·
- EINTR
-
·
_NTO_CHF_UNBLOCK ·
- message passing
-
·
_NTO_CHF_UNBLOCK ·
- enabling interrupts
-
·
Neutrino and interrupts ·
- endian
-
- server flags
-
·
Who sent the message? ·
- ENOSYS
-
·
Process creation and threads ·
- environment variable
-
·
Starting a process with the exec() and spawn() calls ·
- PATH
-
·
Starting a process with the exec() and spawn() calls ·
- EOK
-
·
Finding the server ·
Replying with no data, or an errno ·
Union'd filesystems ·
- EROFS
-
·
Finding the server ·
Replying with no data, or an errno ·
The resmgr_context_t internal context block ·
- errno
-
- MsgError()
-
·
General notes ·
Replying with no data, or an errno ·
- MsgReply()
-
·
Replying with no data, or an errno ·
- esh
-
·
Message passing and client/server ·
- ETIMEDOUT
-
·
Kernel timeouts with message passing ·
Kernel timeouts with pthread_join() ·
- event
-
- and interrupt handlers
-
·
Using InterruptAttach() ·
- and interrupts
-
·
Telling a thread to do something ·
- and ISRs
-
·
Using InterruptAttach() ·
- example
-
- /dev/null resource manager
-
·
The resource manager library ·
- absolute timers
-
·
What kind of timer? ·
- barriers
-
·
Using a barrier ·
- car using timers
-
·
Clocks and timers ·
- ChannelCreate()
-
·
main() ·
- ConnectAttach()
-
·
Establishing a connection ·
setupPulseAndTimer() ·
- connecting to a server
-
·
Establishing a connection ·
- creating a tar file
-
·
Narrow it down ·
- creating a thread
-
·
A few examples ·
Threads in mathematical operations ·
- demultiplexing pulse versus message
-
·
Receiving a pulse message ·
- demultiplexing the pulse code
-
·
What's in a pulse? ·
- detaching interrupt handler
-
·
Detaching an interrupt handler ·
- file
-
- time1.c
-
·
Server-maintained timeouts ·
- tt1.c
-
·
Kernel timeouts with pthread_join() ·
- filling struct itimerspec
-
·
What kind of timer? ·
- interrupt handler
-
·
Now that you've attached an interrupt ·
Using InterruptAttach() ·
- InterruptAttach()
-
·
Now that you've attached an interrupt ·
Using InterruptAttach() ·
- InterruptAttachEvent()
-
·
Using InterruptAttachEvent() ·
- InterruptWait()
-
·
Using InterruptAttachEvent() ·
- IOV
-
·
Multipart messages ·
- ISR
-
·
Now that you've attached an interrupt ·
Using InterruptAttach() ·
- ISR pseudo-code
-
·
Telling a thread to do something ·
- kernel timeout
-
·
Kernel timeouts with pthread_join() ·
- message passing
-
·
Message passing and client/server ·
Sending messages ·
- fs-qnx4
-
·
Reading and writing data ·
- multipart messages
-
·
Multipart messages ·
- replying with no data
-
·
Replying with no data, or an errno ·
- server
-
·
Server framework ·
- write()
-
·
Multipart messages ·
- messages
-
·
gotAMessage() ·
gotAPulse() ·
main() ·
Server-maintained timeouts ·
setupPulseAndTimer() ·
- MsgReadv()
-
·
Multipart messages ·
- MsgReceive()
-
·
main() ·
Multipart messages ·
Reading and writing data ·
Server framework ·
- MsgReply()
-
·
gotAMessage() ·
gotAPulse() ·
Server framework ·
- MsgSend()
-
·
Multipart messages ·
Sending messages ·
- MsgSendv()
-
·
Multipart messages ·
- netmgr_remote_nd()
-
·
Some notes on NDs ·
- netmgr_strtond()
-
·
Some notes on NDs ·
- networked message passing
-
·
Network-distributed message passing ·
- node descriptors
-
·
Some notes on NDs ·
- non-blocking pthread_join()
-
·
Kernel timeouts with pthread_join() ·
- one-shot timers
-
·
What kind of timer? ·
- periodic timers
-
·
What kind of timer? ·
- priority inversion
-
·
Priority inheritance ·
- producer
-
·
Sleepon locks ·
- producer and consumer
-
·
Condition variables ·
Sleepon locks ·
- pthread_attr_init()
-
·
A few examples ·
- pthread_attr_setdetachstate()
-
·
A few examples ·
- pthread_attr_setinheritsched()
-
·
A few examples ·
- pthread_attr_setschedpolicy()
-
·
A few examples ·
- pthread_attr_t
-
·
A few examples ·
- pthread_barrier_init()
-
·
Using a barrier ·
- pthread_barrier_wait()
-
·
Using a barrier ·
- pthread_cond_signal()
-
·
Condition variables ·
- pthread_cond_wait()
-
·
Condition variables ·
- pthread_create()
-
·
A few examples ·
Condition variables ·
Threads in mathematical operations ·
Using a barrier ·
- pthread_join()
-
·
Joining ·
Kernel timeouts with pthread_join() ·
- pthread_mutex_lock()
-
·
Condition variables ·
- pthread_mutex_unlock()
-
·
Condition variables ·
- pthread_sleepon_lock()
-
·
Sleepon locks ·
- pthread_sleepon_signal()
-
·
Sleepon locks ·
- pthread_sleepon_unlock()
-
·
Sleepon locks ·
- pthread_sleepon_wait()
-
·
Sleepon locks ·
- pulses
-
·
gotAMessage() ·
gotAPulse() ·
main() ·
Server-maintained timeouts ·
setupPulseAndTimer() ·
- receive ID
-
·
Server framework ·
- receiving a message
-
·
Receiving a pulse message ·
- receiving a pulse
-
·
Receiving a pulse message ·
- relative timers
-
·
gotAMessage() ·
gotAPulse() ·
main() ·
Server-maintained timeouts ·
setupPulseAndTimer() ·
What kind of timer? ·
- replying with an error code
-
·
Replying with no data, or an errno ·
- replying with just EOK
-
·
Replying with no data, or an errno ·
- resource manager
-
- io_devctl()
-
·
A simple io_devctl() example ·
An io_devctl() example that deals with data ·
- io_open() handler
-
·
Putting in your own functions ·
- io_read()
-
·
A simple io_read() example ·
The code ·
- io_write()
-
·
A simple io_write() example ·
- returning data to a client
-
·
A simple io_read() example ·
The code ·
- SETIOV() macro
-
·
Multipart messages ·
- SIGEV_PULSE_INIT() (macro)
-
·
setupPulseAndTimer() ·
- SIGEV_THREAD_INIT() (macro)
-
·
Timers creating threads ·
- struct itimerspec
-
·
setupPulseAndTimer() ·
- struct sigevent
-
·
setupPulseAndTimer() ·
- SIGEV_UNBLOCK
-
·
Kernel timeouts with pthread_join() ·
- the pulse value
-
·
What's in a pulse? ·
- thread
-
·
Using a barrier ·
- thread pool
-
·
Controlling the number of threads ·
- thread_pool_create()
-
·
Controlling the number of threads ·
- thread_pool_start()
-
·
Controlling the number of threads ·
- thread_pool_start() pseudo code
-
·
The thread pool functions ·
- timeouts
-
·
gotAMessage() ·
gotAPulse() ·
main() ·
Server-maintained timeouts ·
setupPulseAndTimer() ·
- timer_create()
-
·
setupPulseAndTimer() ·
- timer_create() and signals
-
·
Timers delivering signals ·
- timer_settime()
-
·
setupPulseAndTimer() ·
- TimerTimeout()
-
·
Kernel timeouts with pthread_join() ·
- and multiple states
-
·
Kernel timeouts with message passing ·
- where to use pthread_cond_broadcast()
-
·
Signal versus broadcast ·
- where to use pthread_cond_signal()
-
·
Signal versus broadcast ·
- where to use pthread_sleepon_broadcast()
-
·
Signal versus broadcast ·
- where to use pthread_sleepon_signal()
-
·
Signal versus broadcast ·
- exceptions and scheduling
-
·
Rescheduling — exceptions ·
Scheduling and the real world ·
- exec()
-
·
So what should you use? ·
Starting a process with the vfork() call ·
- exec() family
-
·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
- execl()
-
·
Starting a process with the exec() and spawn() calls ·
- execle()
-
·
Starting a process with the exec() and spawn() calls ·
- execlp()
-
·
Starting a process with the exec() and spawn() calls ·
- execlpe()
-
·
Starting a process with the exec() and spawn() calls ·
- execv()
-
·
Starting a process with the exec() and spawn() calls ·
- execve()
-
·
Starting a process with the exec() and spawn() calls ·
- execvp()
-
·
Starting a process with the exec() and spawn() calls ·
- execvpe()
-
·
Starting a process with the exec() and spawn() calls ·
- exit function
-
·
The thread attributes structure ·
- exit()
-
·
Detaching an interrupt handler ·
Starting a process with the vfork() call ·
- and interrupts
-
·
Detaching an interrupt handler ·
- export
-
·
Starting a process with the exec() and spawn() calls ·
· ! · 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 ·