Mercurial > urweb
comparison src/compiler.sml @ 1700:2b04104896a8
Delete C temporary directories, even if other files wind up there
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 13 Mar 2012 20:17:23 -0400 |
parents | 3cfc79f92db7 |
children | 7b9775d4a8ce |
comparison
equal
deleted
inserted
replaced
1699:3320eba6bad5 | 1700:2b04104896a8 |
---|---|
1423 val cname = OS.Path.joinDirFile {dir = dir, file = "webapp.c"} | 1423 val cname = OS.Path.joinDirFile {dir = dir, file = "webapp.c"} |
1424 val oname = OS.Path.joinDirFile {dir = dir, file = "webapp.o"} | 1424 val oname = OS.Path.joinDirFile {dir = dir, file = "webapp.o"} |
1425 in | 1425 in |
1426 OS.FileSys.mkDir dir; | 1426 OS.FileSys.mkDir dir; |
1427 (cname, oname, | 1427 (cname, oname, |
1428 fn () => (OS.FileSys.remove cname; | 1428 fn () => (if OS.Process.isSuccess (OS.Process.system ("rm -rf " ^ dir)) then |
1429 OS.FileSys.remove oname; | 1429 () |
1430 OS.FileSys.rmDir dir) | 1430 else |
1431 handle OS.SysErr _ => OS.FileSys.rmDir dir) | 1431 raise Fail ("Unable to delete temporary directory " ^ dir))) |
1432 end | 1432 end |
1433 val ename = #exe job | 1433 val ename = #exe job |
1434 in | 1434 in |
1435 let | 1435 let |
1436 val outf = TextIO.openOut cname | 1436 val outf = TextIO.openOut cname |