26.02.2014 Views

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© 2009, <strong>QNX</strong> <strong>Software</strong> <strong>Systems</strong> GmbH & Co. KG. Index<br />

behavior if expired 140<br />

changing resolution 140<br />

CLOCK_MONOTONIC 147<br />

CLOCK_REALTIME 146<br />

CLOCK_SOFTTIME 146<br />

ClockPeriod() 158<br />

converting time formats 148<br />

creating 146<br />

creating a thread 143, 144<br />

creating threads on expiry 142<br />

creating threads on trigger 157<br />

delivering a pulse 143<br />

delivering a signal 143<br />

diagram showing big picture 139<br />

drift 139<br />

flags 147<br />

getting and setting the realtime clock 157<br />

hardware divider 139<br />

hardware divisor 139<br />

implementation 138, 142, 149, 165<br />

improving accuracy 158<br />

inactivity shutdown 156<br />

jitter 140, 141<br />

diagram 140<br />

kernel timeouts 165<br />

limits on base timing resolution 159<br />

one-shot 141, 148<br />

example 148<br />

periodic 141, 148<br />

and server maintenance 156<br />

and servers 149<br />

example 149<br />

polling 156<br />

preemption 140<br />

pulse versus signal 146<br />

pulses 116, 142, 143, 149, 151–154<br />

putting a thread on hold 138<br />

readying a thread 140, 165<br />

relative 141, 147, 165<br />

defined 332<br />

example 148, 149, 151–154<br />

repeating<br />

defined 332<br />

resolving 140<br />

scheduling an event in the future 141<br />

sending a signal 144<br />

specifying code number 144<br />

specifying signal number 144<br />

setting type 147<br />

SIGALRM 157<br />

SIGEV_THREAD 143<br />

signals 142, 157<br />

specifying a signal 157<br />

SIGUSR1 157<br />

specifying sub-second values 148<br />

starting 147<br />

struct itimerspec 147, 148<br />

struct sigevent 142<br />

struct timespec 147, 148<br />

timeout notification 142<br />

by pulse 145<br />

by signal 146<br />

TIMER_ABSTIME 147<br />

timer_create() 146<br />

timer_settime() 147<br />

types 141, 147, 148<br />

usage examples 149<br />

using 146<br />

using pulses <strong>with</strong> servers 145<br />

warm-up timer 156<br />

TIMER_ABSTIME 147<br />

timer_create() 146, 147, 152<br />

example 152<br />

flags argument 147<br />

signal example 157<br />

timer_settime() 147, 149, 152<br />

andTIMER_ABSTIME 147<br />

example 152<br />

TimerTimeout() 100, 119, 163–165, 289<br />

andCLOCK_REALTIME 163<br />

example 163–165<br />

specifying multiple kernel states 165<br />

timeslice 22<br />

timestamps 159<br />

timing<br />

busy wait 138<br />

fine grained 138<br />

high accuracy 159<br />

hogging CPU 138<br />

using ClockCycles() 159<br />

tips<br />

broadcast versus signal 65<br />

April 30, 2009 Index 371

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!