Better IPC – sending a data item

This leads us to the next interesting fact: it is possible to send a data quantum—a piece of data—via signals. To see how, let's revisit the powerful struct siginfo_t we studied earlier in this chapter. To have the signal handler receive the pointer to it, recall that we use the SA_SIGINFO flag when calling sigaction(2).

Recall the fact that, within struct siginfo_t, the first three members are simple integers, the fourth member is a union of structures, there are seven of them—only one of which will get instantiated at runtime; the one that does depends on which signal is being handled!

To help us recall, here's the initial portion of struct siginfo_t:

typedef struct {    int si_signo; /* Signal number. */

Get Hands-On System Programming with Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.