Unix环境高级编程 第三版 勘误表(中文翻译)

来源:互联网 发布:追梦设计美工学院 编辑:程序博客网 时间:2024/05/22 12:09

<span left-pos="0|20" right-pos="0|20" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">下面的错误</span><span left-pos="21|11" right-pos="21|11" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">没有</span><span left-pos="33|4" right-pos="33|4" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">被</span><span left-pos="38|5" right-pos="38|5" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">更正</span><span left-pos="44|6" right-pos="44|6" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">在任何</span><span left-pos="51|8" right-pos="51|8" space="" style="font-family: arial; background-color: rgb(255, 255, 255);">印刷的书籍上</span><span left-pos="59|1" right-pos="59|1" space="1|" style="font-family: arial; background-color: rgb(255, 255, 255);">。</span>

书目是缺少Bovet & Cesati [2006],的一个条目,这是在74页提到的。应参考

Bovet, D. P. and Cesati, M.《理解Linux内核》第三版。O'Reilly Media塞瓦斯托波尔

在929页(附录C练习13.3应该标注13.4

页307和309参考图9.13。应该是9.12

在842页,这printer_status函数有一个错误,可能会影响基于RISC平台时,iPP头不正确对齐。


 struct ipp_hdr *hp;    hp = (struct ipp_hdr *)cp;    i = ntohs(hp->status);    jobid = ntohl(hp->request_id);<span left-pos="685|8" right-pos="0|8" space="" style="color: rgb(51, 51, 51); font-family: arial; font-size: 14px; line-height: 22px;">代码</span><span left-pos="694|9" right-pos="9|9" space="1|" style="color: rgb(51, 51, 51); font-family: arial; font-size: 14px; line-height: 22px;">应该是</span>    struct ipp_hdr h;    memcpy(&h, cp, sizeof(struct ipp_hdr));    i = ntohs(h.status);    jobid = ntohl(h.request_id);

图17.14 msg_controllen正在更新中,结果大多数Linux不当的64位版本的bug。若要解决此问题

修改        if (msg.msg_controllen != CONTROLLEN)为if (msg.msg_controllen < CONTROLLEN)

同样的问题会影响lib/recvfdC的源代码在 APUE library.

828页的add_worker功能不能正确建立链表。这个问题不仅表明了当有多个请求同时处理。而不是

if (workers == NULL)        workers = wtp;    else        workers->prev = wtp;the code should be    if (workers != NULL)        workers->prev = wtp;    workers = wtp;

图16.4页592表3.3节为就近的参考,它应该是3.5节。 
在305页,从上数第二行包含短语“encrypted correctly;”它应该是“decrypted correctly”(被引用的例子是使用的crypt命令来打印文件解密)。 
在页面127和910,参考了UTIME功能应该不是指出现UTimes功能。 
在第148页,最后一段是指​​的是图5.3,它应该是图5.2。 
在331页中,例如之前的最后一句是指sigsetjmp。应当siglongjmp。 
在416页中,cond_signal参考应改为pthread_cond_signal
在493页,locks 是从v-node结构,而不是i-node结构联系在一起的。 
在632页,最后一句以“Well”,它应该是“We‘ll”。 
在834页,“Universal Resource Identifier”应该是“Uniform Resource Identifier”。 
在957页,“cat constant”应被删除。 
在982页,“_SC_NZERO功能”应为“_SC_NZERO常量。”
上321页,在用于SIGTTOU的说明中描述将失败的情况下只发生在情况caseB)下
在378页中,sig_tstp信号处理程序有一个竞争关系。它不应该解除SIGTSTP后才会调用杀死。 
在950页中,Linux的编程接口是由“No Startch Press"出版。 
在639页的第一行,该参数的malloc的大小(un.sun_path+1),但应该是(un.sun_path)+1。 

在250页,从页面底部的第三个完整的段落结尾“三个功能。”它应该是“四个功能”。 

在252页上,键入f选项的find命令的讨论应该是type-F选项。 
在111页,du命令的行为的描述是相反的。当POSIXLY_CORRECT环境变量设置,都报告512字节的块为单位。否则,则默认为1024字节为单位。 





0 0