Oops -- dont close random file descriptors

上级 6d978f5a
......@@ -46,7 +46,6 @@ du(int fd)
size_t size = ST_SIZE(st);
if (ST_ISDIR(st)) {
dirit di(fd);
wq_for<dirit>(di,
[](dirit &i)->bool { return !i.end(); },
[&](const char *name)->void
......@@ -61,9 +60,9 @@ du(int fd)
size += du(nfd); // should go into work queue
free((void*)name);
});
} else {
close(fd);
}
close(fd);
return size;
}
......
......@@ -4,6 +4,10 @@ public:
refill();
}
~dirit() {
close(fd_);
}
dirit& operator ++() {
refill();
return *this;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论