Errata
Submit your own errata for this product.
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question
| Version | Location | Description | Submitted By | Corrected |
|---|---|---|---|---|
| Printed | Page iv Printing History near top of page |
The printing history has not been updated. My copy contains corrections for all the errata reported to have been made for the 1/00 reprint, but the last entry under Printing History is "February 1998: Minor corrections". |
Anonymous | |
| Printed | Page iii changed "Jackie Farrell" to "Jacqueline Proulx Farrell" |
Anonymous | Feb 1998 | |
| Printed | Page xiv-xv |
The FTP section has been updated so that it now reads: |
Anonymous | Jul 1999 |
| Printed | Page 2 addition to the code: new line 1 |
#include <stdio.h> |
Anonymous | Feb 1998 |
| Printed | Page 3 added a 4th line of code |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 6 Figure 1-3: top box in the "Virtual Address Space" |
column changed from "do one_thing" to "do another_thing" |
Anonymous | Jul 1998 |
| Printed | Page 9 added to beginning of code |
#include <stdlib.h> |
Anonymous | Feb 1998 |
| Printed | Page 10 line added before "main" |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 11 line 6 of code: added "fork" in parens after "perror" and "1" in |
parens after "exit"; changed line 12 ("exit()") to read "return 0;" |
Anonymous | Feb 1998 |
| Printed | Page 13 addition to the code: new line 1 |
#include <stdio.h> |
Anonymous | Feb 1998 |
| Printed | Page 14 |
changed blank next-to-last line to read: |
Anonymous | Feb 1998 |
| Printed | Page 15 line 3 |
"and using the (void *) cast to quit the compiler." |
Anonymous | |
| Printed | Page 15 reprinted for pagebreak |
Anonymous | Feb 1998 | |
| Printed | Page 18 addition to the code: new line 1 |
#include <stdio.h> |
Anonymous | Feb 1998 |
| Printed | Page 21 line added before "main" |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 23 Example 1-8 |
At the top of the code example, internal_error is declared but not used. |
Anonymous | |
| Printed | Page 23 added two lines to start of example 1-8 |
#include <stdio.h> |
Anonymous | Feb 1998 |
| Printed | Page 24 new next-to-last line in example 1-8 |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 25 same change as to line -6 on p. 24 made to line -5 of example |
1-9 on this page |
Anonymous | Feb 1998 |
| Printed | Page 38 4th paragraph |
Instead of "for a such a", it should be "for such a" |
Anonymous | |
| Printed | Page 44 added new first line to 2-6 |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 45 new final line of 2-6 |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 49 changed blank line 5 of 2-7 to |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 50 reprinted for pagebreak |
Anonymous | Feb 1998 | |
| Printed | Page 55 2-9: line added before "main()" (near middle of page) |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 56 2-10: line added before "main()" |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 57 2-10: indented line "/* Wait for peers..."; also, in the |
next-to-last para, line -2: added a space between "main" (in itals) |
Anonymous | Feb 1998 |
| Printed | Page 58 line 1: changed "mallocoutside" to "malloc outside" |
Anonymous | Feb 1998 | |
| Printed | Page 58 Example 2-11, line 12: changed from |
free(p); |
Anonymous | Jul 1998 |
| Printed | Page 64 next-to-last para., line 2: changed "mutexfor" to "mutex for" |
Anonymous | Feb 1998 | |
| Printed | Page 72 3-4: line 8: changed "return 1" to "return 0"; line 12: changed |
semicolon after "index" to a comma |
Anonymous | Feb 1998 |
| Printed | Page 72-73 Example 3-4, line numbers 1 through 8 at the bottom |
of p.72 and top of p.73 changed from constant-width font to |
Anonymous | Jul 1998 |
| Printed | Page 73 next-to-last line of 3-4: changed "1" to "0" |
Anonymous | Feb 1998 | |
| Printed | Page 74 3-5: line 5: changed "1" to "0"; line 7: changed semicolon after |
"index" to a comma |
Anonymous | Feb 1998 |
| Printed | Page 75 line "break;": tabbed it over to align with the "if" above |
changed last line to "return 0;" and aligned the r with the p in |
Anonymous | Feb 1998 |
| Printed | Page 78 added these lines to the beginning of example 3-6 |
#include <stdlib.h> |
Anonymous | Feb 1998 |
| Printed | Page 79 reprinted for pagebreak |
Anonymous | Feb 1998 | |
| Printed | Page 80 There is a bug with respect to condition variables. There is a |
race condition. If you don't make sure that the watch_count() routine |
Anonymous | |
| Printed | Page 80 para. 2, line -2: changed ".._signalto" to ".._signal to" |
added line to beginning of 3-7: |
Anonymous | Feb 1998 |
| Printed | Page 80 Example 3-7: between lines 11 and 12, |
{ |
Anonymous | Jul 1998 |
| Printed | Page 80 para. 2: changed all occurrences of "inc_counter" to |
"inc_count" (in italics) |
Anonymous | Oct 1998 |
| Printed | Page 80 |
Example 3-7 used to read: |
Anonymous | Jul 1999 |
| Printed | Page 81 reprinted for pagebreak |
Anonymous | Feb 1998 | |
| Printed | Page 81 Example 3-7, line 4: changed "inc_counter" to "inc_count" |
Anonymous | Oct 1998 | |
| Printed | Page 82 line 3: changed "watch_countprints" to "watch_count prints" |
Anonymous | Feb 1998 | |
| Printed | Page 84-89 |
Line 7 of example 3-9 on page 86 used to read: |
Anonymous | Jul 1999 |
| Printed | Page 85 line 12 of 3-8: changed "return 1;" to "return 0;" |
Anonymous | Feb 1998 | |
| Printed | Page 87 3-9: changed all the "rwdrp"s to "rdwrp", here and in the text |
3-10, line 4: changed "readers_waiting" to "writer_writing" |
Anonymous | Feb 1998 |
| Printed | Page 88 3 more changes from "rwdrp" to "rdwrp" |
Anonymous | Feb 1998 | |
| Printed | Page 88 |
Example 3-11 used to read: |
Anonymous | Jul 1999 |
| Printed | Page 88 |
Example 3-12 used to read: |
Anonymous | Jul 1999 |
| Printed | Page 88 |
Example 3-13 did read: |
Anonymous | Jan 2000 |
| Printed | Page 89 Example 3-14, line 7: changed from |
rdwrp->wrinter_writing == 0 |
Anonymous | Oct 1998 |
| Printed | Page 89 |
Example 3-14 used to read: |
Anonymous | Jul 1999 |
| Printed | Page 94 |
3-18: changed line 3 to read: |
Anonymous | Feb 1998 |
| Printed | Page 96 3-20: added a new first line |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 101 3-23: in 2nd comment: changed "th" to "the" |
Anonymous | Feb 1998 | |
| Printed | Page 103 line 1 of 3-25: added "int" to beginning of line; 9th line from |
bottom: changed "9781565921153_cond_signal" to "pthread_cond_broadcast" |
Anonymous | Feb 1998 |
| Printed | Page 104 3-26: 12: changed line to read "return 0;" |
Anonymous | Feb 1998 | |
| Printed | Page 105 Example 3-26 |
When freeing the pool structures, the while loops reads: |
Anonymous | |
| Printed | Page 105 3-26: added line before final } |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 106 3-28: added new 1st line |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 107 3-28: deleted line 2; also added line before final } |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 107 Example 3-28: removed lines 16 and 17 |
worker_threadp = (9781565921153_t *)malloc(sizeof(pthread_t)); |
Anonymous | Jul 1998 |
| Printed | Page 111 |
The second bulleted item used to read: |
Anonymous | Jul 1999 |
| Printed | Page 113 added new first line to 4-2 |
#ifdef _POSIX_THREAD_ATTR_STACKSIZE |
Anonymous | Feb 1998 |
| Printed | Page 115 added these lines after line 1 of 4-5 |
. |
Anonymous | Feb 1998 |
| Printed | Page 120 added the start of 2nd line of 4-10: "int" |
Anonymous | Feb 1998 | |
| Printed | Page 121 also added "int" to start of lines 3 and 13 |
Anonymous | Feb 1998 | |
| Printed | Page 123 |
changed line 3 of 4-11 to read: |
Anonymous | Feb 1998 |
| Printed | Page 123 line -1: changed "9781565921153_create" to "pthread_key_create" |
(124 reprinted for pagebreak.) |
Anonymous | Oct 1998 |
| Printed | Page 124 added "int" to start of 1st line of 4-12 |
Anonymous | Feb 1998 | |
| Printed | Page 126 added "int" to start of lines 1 and 13 of 4-13 |
Anonymous | Feb 1998 | |
| Printed | Page 131 added the following lines to beginning of 4-14 |
#include <stdlib.h> |
Anonymous | Feb 1998 |
| Printed | Page 132 line -7 0f 4-14: changed the "I" near the end of the line to |
"i"; changed blank line -3 to "}" aligned above "printf"; added a line |
Anonymous | Feb 1998 |
| Printed | Page 133 line -5 of 4-15: lowercased the "I" |
Anonymous | Feb 1998 | |
| Printed | Page 134 4-16: line 9: changed "type" to "state"; in line 10, changed |
"state" to "type"; 6th line from end of example: added "%d" before |
Anonymous | Feb 1998 |
| Printed | Page 152 added semicolons to the end of lines 10 and 11 of code |
Anonymous | Feb 1998 | |
| Printed | Page 152 Example 4-22, line -1: changed "custom_sched_attr" to |
"&custom_sched_attr" |
Anonymous | Oct 1998 |
| Printed | Page 155 added new 1st line to 4-26 |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 156 added next-to-last line to 4-26 |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 159 added line to replace middle dot in 4-27 |
high_prio = sched_get_priority_max(SCHED_FIFO); |
Anonymous | Feb 1998 |
| Printed | Page 160 added sentence after parenthetical in para. 1 |
The priority passed is an integer argument set up in the same manner |
Anonymous | Feb 1998 |
| Printed | Page 162 at end of example: added these lines |
. |
Anonymous | Feb 1998 |
| Printed | Page 172 5-1: line added before "main()" |
extern int |
Anonymous | Feb 1998 |
| Printed | Page 173 added "void *" to start of line 1 of 5-2; also indented the |
lines from "sigwait..." to "9781565921153_mutex_unlock..."; added a new |
Anonymous | Feb 1998 |
| Printed | Page 174 indented the last 3 lines on the page |
Anonymous | Feb 1998 | |
| Printed | Page 175 5-4: put "void *arg" in the parens in line 1; added a |
next-to-last line: |
Anonymous | Feb 1998 |
| Printed | Page 177 added "void" to start of line 2 of 5-5; indented lines 8, 12, |
and 17; in line 14, changed "[j+l]" to "[j]" |
Anonymous | Feb 1998 |
| Printed | Page 178 added "void" to start of line 1 of 5-6; indented lines 8 and 12 |
Anonymous | Feb 1998 | |
| Printed | Page 179 para. 2, line 3: changed "occurrHed" to "occurred" |
Anonymous | Oct 1998 | |
| Printed | Page 184 5-8: added a final line: a "}" aligned with the "{" in line 2 |
also, in the next-to-last text para., changed both instances of |
Anonymous | Feb 1998 |
| Printed | Page 216 added "void" to start of line 3 of both example 6-4 and 6-5 |
Anonymous | Feb 1998 | |
| Printed | Page 217 ditto for example 6-6; also in 6-6, lowercased the "I" in line |
10 |
Anonymous | Feb 1998 |
| Printed | Page 218 ditto for example 6-7; lowercased the "I" in line 9 |
Anonymous | Feb 1998 | |
| Printed | Page 238-239 for all of example A-1, when there's a word with "*" in |
front on a line by itself, moved that back to align with the other |
Anonymous | Feb 1998 |
| Printed | Page 240 A-2: next-to-last line was "}", is now |
return 0; |
Anonymous | Feb 1998 |
| Printed | Page 245 This has been added to the end of section "Thread Attributes" |
"Syntax: In draft 4 a constant 9781565921153_attr_default is defined |
Anonymous | Jul 1999 |
| Printed | Page 247 line 2: changed "9781565921153_attr_getschedcalls" to |
"9781565921153_attr_getsched calls" |
Anonymous | Feb 1998 |
| Printed | Page 248 under "Process-Blocking Calls": changed "tcdrainas" to "tcdrain |
as" |
Anonymous | Feb 1998 |
| Printed | Page 264 index entries "9781565921153_mutex_lock" and "pthread_mutex_trylock |
"257" should be "258" |
Anonymous | Apr 1999 |
| Printed | Page 269 added the following to the next-to-last para. |
Whenever possible, our books use RepKover (tm), a durable and flexible |
Anonymous | Feb 1998 |
