微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多线程程序中文件套接字描述符关闭两次bug的影响

如何解决多线程程序中文件套接字描述符关闭两次bug的影响

fd = open("file",O_RDONLY);
if (fd < 0) exit(1);

while((res = read(fd,buf,sizeof(buf)))){
if (res < 0){
close(fd);
fprintf(stderr,"Read error!\n");
break;
} else {
printf("Read %zd bytes\n",res);
}
}
close (fd);

在单线程程序中,这是一个明显的错误:'fd' 被关闭了两次。这个错误在多线程程序中会产生什么影响?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。