X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/809b0173b548f0c182b53a21ab8865f947a11f9c..ac64d96d45f900309ec7e97138b2e793f40ec9f1:/src/main.sml diff --git a/src/main.sml b/src/main.sml index 84e7fe3..aca57ed 100644 --- a/src/main.sml +++ b/src/main.sml @@ -1,5 +1,5 @@ (* 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 @@ -787,7 +787,13 @@ fun requestFirewall {node, uname} = fun regenerate context = let + val _ = ErrorMsg.reset () + 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 () @@ -1253,8 +1259,15 @@ fun service () = 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"; + app (fn x => print (x ^ "\n")) (SMLofNJ.exnHistory e); OpenSSL.close bio handle OpenSSL.OpenSSL _ => (); loop ()) @@ -1324,8 +1337,9 @@ fun slave () = OpenSSL.close bio handle OpenSSL.OpenSSL _ => (); loop ()) - | OS.SysErr (s, _) => - (print ("System error: "^ s ^ "\n"); + | e as OS.SysErr (s, _) => + (app (fn s => print (s ^ "\n")) (SMLofNJ.exnHistory e); + print ("System error: "^ s ^ "\n"); OpenSSL.close bio handle OpenSSL.OpenSSL _ => (); loop ())