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 "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
Printed |
Page 6
First sentence |
"ABI,but" instead of "ABI, but"
Note from the Author or Editor: Change "ABI,but" to "ABI, but"
|
Anonymous |
Sep 04, 2008 |
|
Printed |
Page 20
Table 1-2 |
Changed "EEXIT" to "EEXIST"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
20
Table 1-2 |
Changed "EEXIT" to "EEXIST"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 66
In the code sample on the bottom of page page 66 |
Replaced
"−1" with "-1"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
66
In the code sample on the bottom of page page 66 |
Replaced
"−1" with "-1"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 76
Erros and End-of-file |
Changed "include <stdio.h>" to "#include <stdio.h>"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
76
Erros and End-of-file |
Changed "include <stdio.h>" to "#include <stdio.h>"
|
Anonymous |
|
Aug 01, 2008 |
PDF |
Page 78
code example on bottom of page |
in the comment
/* set stdin to block-buffered with a BUFSIZ buffer */
change stdin to stdout
|
Anonymous |
Aug 14, 2008 |
|
Printed |
Page 84
1st paragraph |
Change "writes to a vector of buffers from a single data stream" to "writes from a vector of buffers to a single data stream".
|
Anonymous |
Aug 21, 2008 |
|
Printed |
Page 86
bottom of the page |
Changed "iov[i].iov_len = strlen(buf[i]);" to "iov[i].iov_len = strlen(buf[i]) + 1;"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
86
bottom of the page |
Changed "iov[i].iov_len = strlen(buf[i]);" to "iov[i].iov_len = strlen(buf[i]) + 1;"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 115
2nd paragraph (end) |
Changed "physical block n tends to be physically adjacent on disk to
logical block n + 1" to "logical block n tends to be
physically-adjacent on disk to logical block n + 1"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
115
2nd paragraph (end) |
Changed "physical block n tends to be physically adjacent on disk to
logical block n + 1" to "logical block n tends to be
physically-adjacent on disk to logical block n + 1"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 130
3rd paragraph |
Changed "exec1()" to "execl()"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
130
3rd paragraph |
Changed "exec1()" to "execl()"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 151
bottom of 2nd paragraph from the top |
Changed "the saved user ID is the effective user ID before a suid
binary" to "the saved user ID is the effective user ID from before a
suid binary"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
151
bottom of 2nd paragraph from the top |
Changed "the saved user ID is the effective user ID before a suid
binary" to "the saved user ID is the effective user ID from before a
suid binary"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
179
last bullet of "The first in, first out policy" |
The text says "When a process joins the FIFO class, or when a process' static priority changes, it is put at the head of the list of processes for its given priority. Consequently, a newly prioritized FIFO-classed process can preempt an executing process of the same priority."
This appears incorrect. The 2.6.22 implementation puts the process at the tail of the list. sched_setscheduler() calls __activate_task() calls enqueue_task() calls list_add_tail().
Note from the Author or Editor: On p179, change:
"When a process joins the FIFO class, or when a process' static priority changes, it is put at the head of the list of processes for its given priority. Consequently, a newly prioritized FIFO-classed process can preempt an executing process of the same priority."
to
"When a process joins the FIFO class, or when a process's static priority changes, it is put at the tail of the list of processes for its given priority."
|
Chris Friesen |
Feb 17, 2009 |
|
Printed |
Page 189
the code snippet at the bottom of the page |
Changed:
CPU_CLR (1, &set); /* forbid CPU #1 */
to:
CPU_SET (1, &set); /* allow CPU #1 */
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
189
the code snippet at the bottom of the page |
Changed:
CPU_CLR (1, &set); /* forbid CPU #1 */
to:
CPU_SET (1, &set); /* allow CPU #1 */
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 193
Paragraph in middle of page |
replaced the paragraph that begins starting with "The kernel stores
the limit ..." and ending with "... by that user" with this text -
The kernel manages the resource limits on a per-process basis. A child process inherits its limits
from its parent during fork; limits are maintained across exec.
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
193
Paragraph in middle of page |
replaced the paragraph that begins starting with "The kernel stores
the limit ..." and ending with "... by that user" with this text -
The kernel manages the resource limits on a per-process basis. A child process inherits its limits
from its parent during fork; limits are maintained across exec.
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 203
1st paragraph |
Changed:
chmod("manifest.txt", -1, gr->gr_gid);
and
perror ("chmod");
To:
chown("manifest.txt", -1, gr->gr_gid);
and
perror ("chown");
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
203
1st paragraph |
Changed:
chmod("manifest.txt", -1, gr->gr_gid);
and
perror ("chmod");
To:
chown("manifest.txt", -1, gr->gr_gid);
and
perror ("chown");
|
Anonymous |
|
Aug 01, 2008 |
PDF |
Page 225
sample code in the middle of the page |
in the sample code:
ret = link( "/home/kidd/privateer", /home/kidd/pirate");
should be the following
ret = link( "/home/kidd/privateer", "/home/kidd/pirate");
The original codes miss a quote(").
|
Money |
Dec 01, 2009 |
|
Printed |
Page 238
Code example at the bottom of the page |
Changed:
char buf[BUF_LEN]_attribute_((aligned(4))));
To:
char buf[BUF_LEN] __attribute__((aligned(4)));
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
238
Code example at the bottom of the page |
Changed:
char buf[BUF_LEN]_attribute_((aligned(4))));
To:
char buf[BUF_LEN] __attribute__((aligned(4)));
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 301
top |
Changed "The sigaction_t structure opens" to "The siginfo_t structure opens"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
301
top |
Changed "The sigaction_t structure opens" to "The siginfo_t structure opens"
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 316
1st paragraph |
Previous erratum:
{316} 1st paragraph;
Changed "tv.usec" to "tv.tv_usec" in the code snippet.
Add to it:
Change "tv.sec" to "tv.tv_sec" in the code snippet.
|
Anonymous |
Aug 20, 2008 |
|
Printed |
Page 316
1st paragraph |
Changed "tv.usec" to "tv.tv_usec" in the code snippet.
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
316
1st paragraph |
Changed "tv.usec" to "tv.tv_usec" in the code snippet.
|
Anonymous |
|
Aug 01, 2008 |
Printed |
Page 331
1st paragraph |
A preexisting erratum says, "(331) 1st paragraph;
Changed the repeated "seconds seconds" to just "seconds"
This is wrong--the first "seconds" is in a sans serif font, as it's a variable name from the preceding code snippet; i.e., its presence is correct. Better would be to (1) change the variable name in the snippet on the preceding page ("seconds") to something else (e.g. "secs"), and then (2) change the above to "secs seconds" (with "secs" in the sans serif font).
Note that the two fonts are rather too similar (which confused whoever wrote the erratum), and the code font should be bolder in the text, as it is in the code snippets introducing functions throughout the book. I'll add a (3) here, and suggest: Show ALL code samples (snippets as well as function intros) in the "emphasized" sans serif font. (Remember what we were taught as editing newbies--don't go crazy with the numerous font options available with your new word processor!)
...and now, back to reading my excellent book.
|
Anonymous |
Aug 20, 2008 |
|
Printed |
Page 331
1st paragraph |
Changed the repeated "seconds seconds" to just "seconds"
|
Anonymous |
|
Aug 01, 2008 |
Other Digital Version |
331
1st paragraph |
Changed the repeated "seconds seconds" to just "seconds"
|
Anonymous |
|
Aug 01, 2008 |