本勘误记录适用于2019年10月第3版(其它版本可酌情参考,页码可能不匹配)
- 第2.2.2节,P23,图2-2中,网络数据库操作 应该改为 网络数据库操作(16.3.3节);信号量 应该改为 信号量(15.10节);套接字本地接口
(第16章)应该改为 套接字本地接口;存储管理声明 应该改为 存储管理声明(14.8节) - 第2.5.1节,P31,这是具体实现保证可同时打开的标准I/O流的最小个数 应该改为 这是具体实现保证可同时打开的标准I/O流的最大个数
- 第2.5.4节,P34,log fpathconf(int fd, int name); 应该改为 long fpathconf(int fd, int name);
- 第3.14节,P69,我们还是应该遵重这个标志的 应该改为 我们还是应该尊重这个标志的
- ..晚点再整理出来
- 第10.16节,P288,将 SIGUSRI 信号加到了 应该改为 将 SIGUSR1 信号加到了
- 第11.5节,P312,可以通过调用 pthread_join 自动把线程置于分离状态 应该改为 可以通过调用 pthread_detach 自动把线程置于分离状态
- 第11.5节,P318,图11-6中,pthread_cancel_push 应该改为 pthread_cleanup_push
- 第11.6.3节,P328,图11-13中,printf("can't lock mvtex again:%s\n", strerror(err)); 应该改为 printf("can't lock mutex again:%s\n", strerror(err));
- 第11.6.6节,P334,pthread_cond_timewait 将重新获取互斥量 应该改为 pthread_cond_timedwait 将重新获取互斥量
- 第11.6.8节,P336,用 thread_barrier_destroy 函数反初始化 应该改为 用 pthread_barrier_destroy 函数反初始化
- 第12.3节,P343,pthread_attr_setdetachstate(pthread_attr_t* attr, int* detachstate); 应该改为 pthread_attr_setdetachstate(pthread_attr_t* attr, int detachstate);
- 第12.8节,P364,signop 指向的整数将包含发送信号的数量 应该改为 signop 指向的整数将包含发送信号的数值
- 第13.3节,P375,open_max函数(见2.17节)应该改为 open_max函数(见图2-17)
- 第14.3节,P398,内核并不清楚(也不关心)父进程是用这3个描述中的哪一个 应该改为 内核并不清楚(也不关心)父进程是用这3个描述符中的哪一个
- 第14.3节,P398,un_lock(fd, 0, SEEK_END); 应该改为 un_lock(fd, 0, SEEK_END, 0);
- 第15.3节,P441,err_sys("fputs error to pipe"); 应该改为 err_sys("fputs error to stdout");
- 第15.5节,P446,正常的文件I/O函数(...)都需要FIFO 应该翻译为 正常的文件I/O函数(...)都能与FIFO一起工作 或者 都适用于FIFO
- 第15.6节,P448,消息队列、信号量以及共享存储器 应该改为 消息队列、信号量以及共享存储
- 第15.9节,P465,最后两个实例说明了在多个无关进程之间如何使用共享存储段 应该改为 最后两个实例说明了在多个相关进程之间如何使用共享存储段
- 第16.2节,P476,图16-4中的 Dup和dup2 应该改为 dup和dup2,fchomod 应该改为 fchmod,Fdatasync和fsync 应该改为 fdatasync和fsync,Pread和pwrite 应该改为 pread和pwrite
- 第16.3.2节,P479,struct_in6_addr { 应该改为 struct in6_addr {
- 第16.3.3节,P480,(参考MacOS上 man page),当 stayopen 参数设置为非0值时,调用 gethostent 之后 应该改为 当 stayopen 参数设置为非0值时,调用 gethostbyname,gethostbyname2,gethostbyaddr 之后(原文:The sethostent() function opens and/or rewinds the file /etc/hosts. If the stayopen argument is non-zero, the file will not be closed after each call to gethostbyname(), gethostbyname2() or gethostbyaddr().)
- 第17.3节,P514,当收到一个客户进程的连接请求后,服务器进程调用 serv_accept 函数 应该翻译为 服务器进程调用 serv_accept 函数后,等待客户进程的连接请求
- 第18.7节,P561,如B57600以及B115250 应该改为 如B57600以及B115200