Practical UNIX Programming:
A Guide to Concurrency, Communication, and Multithreading

by Kay. A. Robbins and Steven Robbins
Prentice Hall, 1996


Additional Comments:


Sections 1.5, 1.6, strtok_r
Under some versions of Solaris 2, you might have to compile and lint with the -D_REENTRANT option so that the prototype of strtok_r in string.h will be used.
Section 2.15, News biff
The update_list function is similar to the get_data function for the list object of Section 2.2 in that it returns information stored in the list and updates the traverse pointer. It also calls lastmod and updates the time entry in the list if needed. update_list should not do any I/O. If lastmod returns an error, it should be treated as if the time has not changed. update_list returns -1 if called with the traverse pointer past the end of the list and in this case no data is put in modifyname or modtime.


Section 5.6, Example 5.22
This example assumes that the process will not block for 10 seconds between the alarm and the read. (found by R. Male)