]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/windows/file.cpp
Actually pass sec_attr to CreateFile
[libs/core.git] / source / io / windows / file.cpp
index b973375475abe3554296969bb5a19ed836fbbe2f..51fe814a5e29b197f8843d3f4ae1d31653718297 100644 (file)
@@ -33,7 +33,12 @@ void File::platform_init(const string &fn, CreateMode cm)
        else
                share_flags = FILE_SHARE_READ;
 
-       *handle = CreateFile(fn.c_str(), flags, share_flags, 0, create_flags, FILE_ATTRIBUTE_NORMAL, 0);
+       SECURITY_ATTRIBUTES sec_attr;
+       sec_attr.nLength = sizeof(SECURITY_ATTRIBUTES);
+       sec_attr.lpSecurityDescriptor = 0;
+       sec_attr.bInheritHandle = !!(mode&M_INHERIT);
+
+       *handle = CreateFile(fn.c_str(), flags, share_flags, 0, create_flags, FILE_ATTRIBUTE_NORMAL, &sec_attr);
        if(!handle)
        {
                int err = GetLastError();