Skip to content

On Windows, when the find directory is finished, the handle is not closed. #8

@actboy168

Description

@actboy168

Describe the bug
I'm not sure if this meets the C++ standard, but both msvc and mingw implementations do this.

To Reproduce

auto path = fs::path("test/");
fs::create_directory(path);
auto itor = fs::directory_iterator(path);
while (itor != fs::directory_iterator()) {
    ++itor;
}
fs::remove_all(path);
fs::create_directory(path); // throw an exception

When itor is equal to end(), it releases the resources held by itor. fs::create_directory will not throw an exception.

Expected behavior
The second fs::create_directory works fine.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    available on masterFix is done on master branch, issue closed on next releasebugSomething isn't workingmediumSeverity: medium

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions