HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix bug that was occurring when two regen's were run in a row
[hcoop/domtool2.git]
/
src
/
main.sml
diff --git
a/src/main.sml
b/src/main.sml
index
b6b6d24
..
aca57ed
100644
(file)
--- a/
src/main.sml
+++ b/
src/main.sml
@@
-1,5
+1,5
@@
(* HCoop Domtool (http://hcoop.sourceforge.net/)
(* HCoop Domtool (http://hcoop.sourceforge.net/)
- * Copyright (c) 2006, Adam Chlipala
+ * Copyright (c) 2006
-2007
, Adam Chlipala
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@
-787,7
+787,13
@@
fun requestFirewall {node, uname} =
fun regenerate context =
let
fun regenerate context =
let
+ val _ = ErrorMsg.reset ()
+
val b = basis ()
val b = basis ()
+ val _ = if Env.lookupType b "string" then
+ print "Still got it\n"
+ else
+ print "Don't got it\n"
val () = Tycheck.disallowExterns ()
val () = Domain.resetGlobal ()
val () = Tycheck.disallowExterns ()
val () = Domain.resetGlobal ()
@@
-1253,8
+1259,15
@@
fun service () =
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())
- | _ =>
+ | IO.Io {name, function, cause} =>
+ (print ("IO error: " ^ function ^ " for " ^ name ^ "\n");
+ app (fn x => print (x ^ "\n")) (SMLofNJ.exnHistory cause);
+ OpenSSL.close bio
+ handle OpenSSL.OpenSSL _ => ();
+ loop ())
+ | e =>
(print "Unknown exception in main loop!\n";
(print "Unknown exception in main loop!\n";
+ app (fn x => print (x ^ "\n")) (SMLofNJ.exnHistory e);
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())