 Chromium Code Reviews
 Chromium Code Reviews Issue 11151030:
  Sleep before moving directory on Windows.  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
    
  
    Issue 11151030:
  Sleep before moving directory on Windows.  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart| Index: utils/pub/hosted_source.dart | 
| diff --git a/utils/pub/hosted_source.dart b/utils/pub/hosted_source.dart | 
| index ecffcab5b64147db3ae6d718de377faeb5663668..fbc9248586178b3129ac45cc0a4311c4d69d4748 100644 | 
| --- a/utils/pub/hosted_source.dart | 
| +++ b/utils/pub/hosted_source.dart | 
| @@ -85,7 +85,17 @@ class HostedSource extends Source { | 
| // Now that the install has succeeded, move it to the real location in | 
| // the cache. This ensures that we don't leave half-busted ghost | 
| // directories in the user's pub cache if an install fails. | 
| - return renameDir(tempDir, destPath); | 
| + var rename = renameDir(tempDir, destPath); | 
| + | 
| + // TODO(rnystrom): Awful hack. On Windows, we see cases where the extract | 
| 
kasperl
2012/10/16 05:44:04
This smells like a dart:io bug? Did you file one a
 | 
| + // has not finished by the time we get here, so the rename fails with a | 
| + // "directory in use" error. So, we will just wait a couple of seconds | 
| + // before we start. | 
| + if (Platform.operatingSystem == "windows") { | 
| + rename = sleep(2000).chain((_) => rename); | 
| + } | 
| + | 
| + return rename; | 
| }).transform((_) => true); | 
| } |