From d069e06ce669999393e5db361ac378804adbe3ba Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 13 Mar 2012 20:17:23 -0400 Subject: Delete C temporary directories, even if other files wind up there --- src/compiler.sml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/compiler.sml b/src/compiler.sml index 8ee86947..2ebf0d28 100644 --- a/src/compiler.sml +++ b/src/compiler.sml @@ -1425,10 +1425,10 @@ fun compile job = 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 -- cgit v1.2.3