domtool-config: print errors on stderr, return failure code, export vmaildb
[hcoop/domtool2.git] / src / main.sml
index 6cb3ef1..cc35c62 100644 (file)
@@ -194,6 +194,8 @@ fun reduce G fname =
 
 (*(Defaults.eInit ())*)
 
+val toplevel = Env.initialDynEnvVals Reduce.reduceExp
+
 fun eval G evs fname =
     case reduce G fname of
        (G, SOME body') =>
@@ -201,14 +203,14 @@ fun eval G evs fname =
            raise ErrorMsg.Error
        else
            let
-               val evs' = Eval.exec' evs body'
+               val evs' = Eval.exec' (toplevel G, evs) body'
            in
                (G, evs')
            end
       | (G, NONE) => (G, evs)
 
 val dispatcher =
-    Config.dispatcher ^ ":" ^ Int.toString Config.dispatcherPort
+    Domain.nodeIp Config.dispatcherName ^ ":" ^ Int.toString Config.dispatcherPort
 
 val self =
     "localhost:" ^ Int.toString Config.slavePort
@@ -1091,7 +1093,7 @@ fun regenerateEither tc checker context =
        val ok = ref true
  
        fun contactNode (node, ip) =
-           if node = Config.defaultNode then
+           if node = Config.dispatcherName then
                Domain.resetLocal ()
            else let
                    val bio = OpenSSL.connect true (context,
@@ -1150,7 +1152,7 @@ fun regenerateEither tc checker context =
                        else
                            ();
                        let val basis' = basis () in
-                           ignore (foldl checker' (basis', Env.initialDynEnvVals basis') files)
+                           ignore (foldl checker' (basis', SM.empty) files)
                        end
                    end
                else if String.isSuffix "_admin" user then
@@ -1317,7 +1319,7 @@ fun service () =
                         in
                             doIt (fn () => (Env.pre ();
                                             let val basis' = basis () in
-                                                ignore (foldl doOne (basis', Env.initialDynEnvVals basis') codes)
+                                                ignore (foldl doOne (basis', SM.empty) codes)
                                             end;
                                             Env.post ();
                                             Msg.send (bio, MsgOk);