gio/gtestdbus.c: Fix write_config_file() for Windows
authorChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 18 Mar 2014 04:54:10 +0000 (12:54 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 12 May 2014 14:14:05 +0000 (22:14 +0800)
Windows does not like g_unlink() to be called on files whose file
descriptor is still open, so doing that would cause a permission
denied error.  Since the fd is not used in that function after
acquiring the temp file, close it earlier before
g_file_set_contents(), so that it can complete successfully.

This fixes a number of GTK+ tests on Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=719344

gio/gtestdbus.c

index 17a9496..4b51d29 100644 (file)
@@ -566,13 +566,12 @@ write_config_file (GTestDBus *self)
       "  </policy>\n"
       "</busconfig>\n");
 
+  close (fd);
   g_file_set_contents (path, contents->str, contents->len, &error);
   g_assert_no_error (error);
 
   g_string_free (contents, TRUE);
 
-  close (fd);
-
   return path;
 }