Brad King
59b568e5e8
Fix cmSystemTools::RenameFile race on Windows
...
Since commit d46d8df0 (Re-implemented cmGeneratedFileStream to look like a
real stream and replace the destination file atomically, 2004-11-03) our
RenameFile implementation tries to deal with MoveFile not replacing
read-only files. In order to avoid the Get/SetFileAttributes pair we used
stat to test for existence of the destination file. This has a race in
which the destination could be created between the test for existence and
the MoveFile call.
Remove the stat call and use GetFileAttributes to detect whether the file
exists. This shortens the race but does not eliminate it. Use a loop to
try multiple times in case we lose the race. While at it, drop Win9x
support and always use MoveFileEx.
2013-02-04 15:15:21 -05:00
..
2013-01-07 21:20:11 +01:00
2012-12-18 13:30:34 -05:00
2012-11-13 13:44:33 -05:00
2013-01-14 09:41:52 -05:00
2012-11-06 11:54:58 -05:00
2013-01-04 09:38:22 -05:00
2013-01-21 09:12:22 +01:00
2013-01-15 14:33:45 -05:00
2012-12-03 11:00:31 -05:00
2013-01-24 00:01:18 -05:00
2012-12-05 10:39:10 -05:00
2012-11-13 13:26:10 -05:00
2012-12-22 12:47:54 +01:00
2013-01-10 09:46:58 -05:00
2013-01-08 08:53:25 -05:00
2013-01-08 08:53:25 -05:00
2013-01-08 14:32:41 -05:00
2013-01-08 08:53:25 -05:00
2013-01-08 09:02:43 -05:00
2013-01-03 13:31:50 -05:00
2012-11-07 14:30:46 -05:00
2013-01-07 21:20:11 +01:00
2012-11-06 14:14:13 -05:00
2012-12-20 12:17:37 +01:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-06 11:54:39 -05:00
2012-11-05 08:44:03 -05:00
2013-01-17 17:20:17 +01:00
2012-10-22 13:59:04 -04:00
2013-01-08 14:14:27 -05:00
2013-01-21 09:05:03 +01:00
2013-01-15 14:36:21 -05:00
2013-01-23 15:11:32 -05:00
2013-01-21 09:05:03 +01:00
2013-01-23 15:11:32 -05:00
2013-01-15 14:36:21 -05:00
2013-01-05 08:29:58 +01:00
2012-11-06 14:13:55 -05:00
2012-10-17 23:45:02 +02:00
2012-12-05 13:19:09 -05:00
2012-12-05 10:39:11 -05:00
2012-11-26 16:46:04 -05:00
2012-11-26 16:46:04 -05:00
2013-01-21 09:12:22 +01:00
2012-11-07 14:10:56 -05:00
2013-01-15 14:36:21 -05:00
2013-01-10 18:06:03 +01:00
2013-01-24 08:17:46 -05:00
2013-01-20 17:06:47 +01:00
2013-01-23 15:11:24 -05:00
2013-01-08 20:38:16 +01:00
2012-11-27 09:12:39 -05:00
2013-01-03 13:45:40 -05:00
2012-11-21 15:49:37 +01:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2013-01-23 15:11:36 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-27 08:31:20 -05:00
2012-11-27 08:31:20 -05:00
2012-11-27 08:31:20 -05:00
2012-11-27 08:31:20 -05:00
2012-11-27 08:31:18 -05:00
2012-11-27 08:31:17 -05:00
2012-11-26 09:33:26 -05:00
2012-11-19 14:56:29 -05:00
2012-12-03 13:53:43 -05:00
2012-12-03 13:53:43 -05:00
2012-11-27 08:31:20 -05:00
2012-11-27 08:31:20 -05:00
2012-11-26 09:33:26 -05:00
2012-11-26 09:33:28 -05:00
2012-11-19 12:54:50 -05:00
2012-11-19 12:54:50 -05:00
2013-01-18 11:55:50 -05:00
2012-11-19 12:54:50 -05:00
2012-11-21 00:56:36 +01:00
2012-10-26 10:16:45 -04:00
2012-10-26 10:16:45 -04:00
2012-10-05 15:14:29 -04:00
2013-01-21 09:12:22 +01:00
2013-01-21 09:12:22 +01:00
2012-11-21 15:49:37 +01:00
2012-11-21 15:49:37 +01:00
2012-11-02 17:09:55 +01:00
2013-01-07 10:31:07 -05:00
2013-01-07 10:31:07 -05:00
2013-01-10 09:54:52 -05:00
2013-01-10 09:54:52 -05:00
2012-11-21 00:56:36 +01:00
2012-11-06 11:54:58 -05:00
2012-11-21 15:49:37 +01:00
2012-10-17 16:24:14 -04:00
2012-11-28 08:49:56 -05:00
2012-11-26 09:33:28 -05:00
2012-11-07 13:45:30 +01:00
2012-11-07 14:10:56 -05:00
2012-10-17 16:23:32 -04:00
2013-01-24 08:25:53 -05:00
2013-01-21 09:12:22 +01:00
2012-10-02 10:07:32 -04:00
2013-01-03 13:45:40 -05:00
2012-11-21 00:56:36 +01:00
2013-01-10 09:54:52 -05:00
2012-11-07 13:51:50 -05:00
2012-11-07 14:10:56 -05:00
2012-11-20 22:00:09 +01:00
2013-01-10 09:54:52 -05:00
2013-01-23 14:15:41 -05:00
2013-01-23 14:15:41 -05:00
2012-12-07 21:24:28 +01:00
2012-11-13 09:08:44 -05:00
2012-11-07 13:51:50 -05:00
2012-11-23 10:57:13 -05:00
2012-11-07 13:51:50 -05:00
2012-12-05 13:19:09 -05:00
2012-12-05 10:39:11 -05:00
2013-02-04 15:15:21 -05:00
2013-01-23 15:11:36 -05:00
2013-01-23 15:11:36 -05:00
2013-01-21 12:32:46 +01:00
2013-01-21 12:32:46 +01:00
2013-01-21 12:32:46 +01:00
2013-01-21 12:32:46 +01:00
2013-01-21 12:19:39 +01:00
2013-01-13 09:59:42 +01:00
2013-01-23 15:11:40 -05:00
2013-01-21 12:32:46 +01:00
2012-12-20 12:17:37 +01:00
2012-12-06 07:20:12 -05:00
2012-12-05 10:39:10 -05:00
2012-11-07 13:51:50 -05:00
2013-01-07 11:42:53 -05:00
2012-10-26 10:16:45 -04:00
2012-11-30 07:59:25 -05:00
2012-11-30 07:59:25 -05:00
2012-10-26 11:02:42 -04:00
2012-11-13 13:26:10 -05:00
2012-11-13 13:26:10 -05:00