Thanks to the following people who reported typos or problems with APUE2e, or otherwise helped in some way.
- Thomas Dickey pointed out that UNIX Curses Explained is out of print.
- Michael Kerrisk has the honor of reporting the first mistake in the book (error #1). Michael also wrote a test program to illustrate the behavior of signals and threads. Michael pointed out that the return value for setenv and unsetenv should be more specific (error #9). He also pointed out that the Corrigenda for the Single UNIX Specification added two more functions to the list of ones that are safe to be called from signal handlers (error #10). Michael also reported error #19.
- Bob Cousins found error #2.
- Michael Hobgood reported error #3 and error #23.
- Luke Bakken found error #4.
- Konstantinos Sakoutis reported error #5.
- Jim Oldfield reported the typo in the pthread_create function prototype (error #6).
- Dan McGregor reports that Mac OS X version 10.4 has added support for the pthread_atfork function.
- Simon Morgan pointed out the typo on page 158 (error #7).
- Yuching Chen reported error #8.
- Loïc Domaigné reported several problems with the threads chapters (error #11, error #12, error #13, error #14, and error #16).
- Several people found error #15, but email@example.com was the first person to bring it to my attention. He also found error #17.
- Zvezdan Petkovic reported the potential buffer overflow problem (error #20).
- David Reiss found the typo on page 255 (error #21).
- Igor Fuksman brought the problem described in FAQ #8 to my attention.
- David Smoot was the first to report compilation problems on Mac OS X version 10.4 (FAQ #10).
- Mike Cheng pointed out the misleading statement mentioned in error #22.
- Greg Miller raised the point about connect_retry not working with TCP after the first attempt fails (see FAQ #9).