The Linux Programming Interface

(nextflipdebug5) #1

1494 INDEX


signal, continued
list of all signals, 390–397
mask, 38, 388, 410, 578, 613, 683
names (descriptions), 406
pending, 38, 388, 389, 411–415, 578,
613, 683
permission required for sending,
402–403, 800
diagram, 403
queuing, 412–414, 422, 456, 457
reading via a file descriptor, 471–474
realtime. See realtime signal
reliable, 390, 455
semantics in multithreaded process,
682–683
sending, 401–405
synchronous generation, 453
System V API, 475–476
timing and order of delivery,
453–454, 464
unreliable, 454
used for IPC, 474
used for synchronization, 527–529
waiting for, 418, 464–471
signal catcher. See signal handler
signal handler, 38, 389, 398–401, 421–446
design, 422–428
diagram, 399, 454
employing printf() in example
programs, 427
invocation in multithreaded process, 683
terminating, 428–433
terminating process from, 549–550
use of errno within, 427
use of global variables within, 428
use of nonlocal goto within, 429–433
signal mask, 38, 388, 410, 578, 613, 683
signal set, 65, 406–409. See also sigset_t
data type
signal stack, alternate, 65, 434–437, 578,
613, 683, 691, 693, 764
signal(), 397–398, 426, 604
code of implementation, 455
example of use, 399, 401, 415
obsolete in favor of sigaction(), 456
portability problems, 454–456
prototype, 397
System V, 475
signal.c, 455
signal_functions.c, 408
signal-driven I/O, 75, 95, 1327,
1346–1355, 1367
signalfd(), 471–472
example of use, 473
prototype, 471

signalfd_siginfo structure, 472
definition, 472
example of use, 473
signalfd_sigval.c, 473
sigorset(), 408
prototype, 408
sigpause(), 426, 475–477, 673, 674
prototype (BSD), 476
prototype (System V), 475
sigpending(), 411–412, 426, 683
example of use, 409, 415
prototype, 411
SIGPIPE signal, 392, 396, 683, 895, 903,
912, 918, 1159, 1220, 1256, 1260
example of use, 913
SIGPOLL signal, 392, 441
sigprocmask(), 410–411, 426, 684
example of use, 409, 411, 415, 466,
473, 587
prototype, 410
SIGPROF signal, 392, 396, 480
SIGPWR signal, 391, 392, 396
sigqueue(), 426, 439, 441, 458–460, 800
example of use, 459
prototype, 458
RLIMIT_SIGPENDING resource limit
and, 764
SIGQUEUE_MAX constant, 214, 457
SIGQUIT signal, 393, 396, 451, 583, 700,
725, 1296, 1298
example of use, 401
sigrelse(), 475
prototype, 475
SIGRTMAX constant, 457
SIGRTMIN constant, 457
SIGSEGV signal, 120, 140, 146, 151,
393, 396, 439, 440, 441, 453,
523, 683, 764, 1000, 1021, 1030,
1046, 1051
correct handling of, 452
delivering on an alternate signal stack,
434–435
diagram, 1029, 1030
example of use, 437
sigset(), 426, 475
prototype, 475
sigset_t data type, 65, 407, 408, 410, 411,
416, 437, 465, 468, 471, 684,
685, 1369
example of use, 411, 415, 463, 464
sigsetjmp(), 429–430
example of use, 433
prototype, 430
sigsetmask(), 476–477
prototype, 476
Free download pdf