# HG changeset patch # User Adam Chlipala # Date 1331684243 14400 # Node ID 2b04104896a823182447f246ca5d1e21fda64569 # Parent 3320eba6bad5a758902ad38f028fbb13bfadb4ad Delete C temporary directories, even if other files wind up there diff -r 3320eba6bad5 -r 2b04104896a8 src/compiler.sml --- a/src/compiler.sml Tue Mar 13 13:36:26 2012 -0400 +++ b/src/compiler.sml Tue Mar 13 20:17:23 2012 -0400 @@ -1425,10 +1425,10 @@ in OS.FileSys.mkDir dir; (cname, oname, - fn () => (OS.FileSys.remove cname; - OS.FileSys.remove oname; - OS.FileSys.rmDir dir) - handle OS.SysErr _ => OS.FileSys.rmDir dir) + fn () => (if OS.Process.isSuccess (OS.Process.system ("rm -rf " ^ dir)) then + () + else + raise Fail ("Unable to delete temporary directory " ^ dir))) end val ename = #exe job in