Commit b91b9ad4 by Ian Lance Taylor

When closing a file, call closedir if we called opendir.

Fixes Go issue 1448.

From-SVN: r169344
parent 75d0b398
......@@ -47,6 +47,13 @@ func (file *File) Close() Error {
if e := syscall.Close(file.fd); e != 0 {
err = &PathError{"close", file.name, Errno(e)}
}
if file.dirinfo != nil {
if libc_closedir(file.dirinfo.dir) < 0 && err == nil {
err = &PathError{"closedir", file.name, Errno(syscall.GetErrno())}
}
}
file.fd = -1 // so it can't be closed again
// no need for a finalizer anymore
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment