if !ErrorMsg.anyErrors then
Env.empty
else
- foldl (fn (fname, G) => check' G fname) Env.empty files
+ (Tycheck.allowExterns ();
+ foldl (fn (fname, G) => check' G fname) Env.empty files
+ before Tycheck.disallowExterns ())
end
fun check fname =
raise ErrorMsg.Error
else
let
+ val _ = Tycheck.disallowExterns ()
val _ = ErrorMsg.reset ()
val prog = Parse.parse fname
in
val dispatcher =
Config.dispatcher ^ ":" ^ Int.toString Config.dispatcherPort
-fun hostname () =
- let
- val inf = TextIO.openIn "/etc/hostname"
- in
- case TextIO.inputLine inf of
- NONE => (TextIO.closeIn inf; raise Fail "No line in /etc/hostname")
- | SOME line => (TextIO.closeIn inf; String.substring (line, 0, size line - 1))
- end
-
fun request fname =
let
val uid = Posix.ProcEnv.getuid ()
fun slave () =
let
- val host = hostname ()
+ val host = Slave.hostname ()
val context = OpenSSL.context (Config.certDir ^ "/" ^ host ^ ".pem",
Config.keyDir ^ "/" ^ host ^ "/key.pem",