[英]How can I trace/catch “Warning: invalid file descriptor -1 in syscall close” in valgrind
[英]Can I close a file descriptor in VxWorks without using FIOCANCEL?
我正在尝试找到一种在VxWorks中关闭/取消文件描述符( fd
)的正确方法。 如示例中所示,我有一个永远读取操作的任务,还有另一个任务将关闭fd
。 在我的系统中,不支持FIOCANCEL
,因此我需要找到另一种方法。 因此,我想知道是否有人对如何正确关闭第二个任务的fd
有任何想法?
//Task 1
while (1)
{
if (running == false)
break;
ret = read(fd, buf, size);
}
// Task 2
running = false;
/* ioctl(fd, FIOCANCEL, 0); (not supported)*/
close(fd);
可能这只是一个很小的编程错误。 close()
应该可以正常工作。 您只需将任务2中的running
variable设置为false
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.