sample sockets applications, 153158
sample scripts
directory archive, 365366
files updated/created today, 366367
scanner functions, variables (table), 414
scripting languages
alternatives to using, 369
bash shell, 345, 347365
Ruby, 147, 168169, 171
scripts
awk, 386390
build, 43
editing with sed, 371380
invoking, 333334
sample bash, 346347
sed, 371380
secure programming lint (splint), 462463
self-identifying structures, 457459
self-protective functions, 460461
semaphores
API, 266280
configuring, removing, 264266
creating, finding, acquiring, releasing, 258266
described, using, 255257
semct1 API function, 264266, 270277
semget API function, 259260, 267270
semop API function, 259262, 277280
send function, 152, 162163
setsockop function, 165166
shabang (#!) in bash script, 347
shared libraries, building, 6364
shared memory
APIs, 291302
programming overview, 283291
segments, 284291, 302307
shell
and redirection of input, output, 329333
SHELL environment variable, 345
shells
alternatives to bash, 369
bash, 4
shmat API function, 287, 299301
shmct1 function, 285286, 290291, 295299
shmdt API function, 287, 301302
shmget API function, 284285, 287, 291295
sigaction function, 201204
signal API
avoiding zombie signals, 178
catching, raising a signal, 179181
function, 188193
signaling threads, 223224
signals
catching, raising, 179181
POSIX, 201204
various defaults of (tables), 189190
signatures of target structures, 457
sigqueue API function, 191
socket primitives, 160166
sockets
creating, destroying, 158159
described, 150
I/O operations, 162166
programming, 147152
sample application, 153158
Sockets API, 153156, 158168
sockets programming
APIs, 170171
element hierarchy (table), 149
layered model of communication, 148
software development
free, 1924
with GNU make, 4153
refactoring, 460
regressing , 417
source code
appending, inserting, changing lines, 378
checking tools, 462463
free software development, 20
monitoring lines as they execute, 75
stepping through, 444445
viewing application, 441442
source files
building for position-independence, 63
compiling, 28
spaces, sed (buffers), 374
stacks, examining, 446447
Stallman, Richard, 5, 6, 8, 20
standard C library (glibc), 12, 113
standard in/out/error, 330332
static libraries, building, 5763
statistic files
gcov output, 77
gprof output, 94
stderr, stdin, stdout commands, 334, 438
stopping debugging session, 447
strace function, 463, 464465
stream editor sed, 371380
streaming large files, xfs filesystem, 15
string
comparison operators (table), 354
functions, using safe, 454
interfaces, 119125
strings, special sequences in echoed (table), 362
subprocesses, 174, 176178
substitute command, 376377
synchronizing
processes, 178179
with semaphores, 255258
threads, 215217
system call interface, 1213
system calls
open , mode arguments (table), 132\
tracing, 463465
system requirements, CD-ROM, 471
systems
gathering information about, 317319
units in, 418419