From 6e62228d09c5067f798b356b88b0c53190f75729 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 9 Dec 2006 23:20:31 +0000 Subject: [PATCH 1/1] Change concatTo to use only local node's files --- src/main.sml | 11 +---------- src/slave.sig | 3 +++ src/slave.sml | 13 +++++++++++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main.sml b/src/main.sml index 490f66d..5b9ee57 100644 --- a/src/main.sml +++ b/src/main.sml @@ -122,15 +122,6 @@ fun eval fname = 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 () @@ -255,7 +246,7 @@ fun service () = fun slave () = let - val host = hostname () + val host = Slave.hostname () val context = OpenSSL.context (Config.certDir ^ "/" ^ host ^ ".pem", Config.keyDir ^ "/" ^ host ^ "/key.pem", diff --git a/src/slave.sig b/src/slave.sig index 10d2071..7d78217 100644 --- a/src/slave.sig +++ b/src/slave.sig @@ -53,4 +53,7 @@ signature SLAVE = sig (* Search through the result configuration hierarchy for all files matching * the predicate, writing a list of their domains to the file named by the * third argument, delimiting the entries with the second argument. *) + + val hostname : unit -> string + (* Get hostname of this machine *) end diff --git a/src/slave.sml b/src/slave.sml index b1303b8..fb336ae 100644 --- a/src/slave.sml +++ b/src/slave.sml @@ -71,6 +71,15 @@ fun shellF (ss, msg) = ErrorMsg.error NONE (msg s) end +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 concatTo p fname = let fun visitDir dname = @@ -98,7 +107,7 @@ fun concatTo p fname = end in TextIO.closeOut (TextIO.openOut fname); - visitDir Config.resultRoot + visitDir (OS.Path.joinDirFile {dir = Config.resultRoot, file = hostname ()}) end fun enumerateTo p sep fname = @@ -141,7 +150,7 @@ fun enumerateTo p sep fname = loop () end in - visitDir Config.resultRoot; + visitDir (OS.Path.joinDirFile {dir = Config.resultRoot, file = hostname ()}); TextIO.closeOut outf end -- 2.20.1