HCoop
/
hcoop
/
domtool2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9a34b00
)
Changing handling of Apache log rename/delete
author
Adam Chlipala
<adamc@hcoop.net>
Tue, 15 Jul 2008 14:31:13 +0000
(14:31 +0000)
committer
Adam Chlipala
<adamc@hcoop.net>
Tue, 15 Jul 2008 14:31:13 +0000
(14:31 +0000)
src/plugins/apache.sml
patch
|
blob
|
blame
|
history
diff --git
a/src/plugins/apache.sml
b/src/plugins/apache.sml
index
e2f70d3
..
ec41103
100644
(file)
--- a/
src/plugins/apache.sml
+++ b/
src/plugins/apache.sml
@@
-243,10
+243,12
@@
val autoindex_option = fn (EApp ((EVar "descriptionWidth", _), w), _) =>
val vhostsChanged = ref false
val logDeleted = ref false
val vhostsChanged = ref false
val logDeleted = ref false
+val delayedLogMoves = ref (fn () => ())
val () = Slave.registerPreHandler
(fn () => (vhostsChanged := false;
val () = Slave.registerPreHandler
(fn () => (vhostsChanged := false;
- logDeleted := false))
+ logDeleted := false;
+ delayedLogMoves := (fn () => print "Executing delayed log moves/deletes.\n")))
fun findVhostUser fname =
let
fun findVhostUser fname =
let
@@
-339,18
+341,20
@@
val () = Slave.registerFileHandler (fn fs =>
Slave.Delete _ =>
let
val ldir = realLogDir oldUser
Slave.Delete _ =>
let
val ldir = realLogDir oldUser
+ val dlm = !delayedLogMoves
in
if !logDeleted then
()
else
in
if !logDeleted then
()
else
- (
ignore (OS.Process.system (down ()));
+ (
(*ignore (OS.Process.system (down ()));*)
ignore (OS.Process.system (fixperms ()));
logDeleted := true);
ignore (OS.Process.system (Config.rm
^ " -rf "
^ realVhostFile));
ignore (OS.Process.system (fixperms ()));
logDeleted := true);
ignore (OS.Process.system (Config.rm
^ " -rf "
^ realVhostFile));
- Slave.moveDirCreate {from = ldir,
- to = backupLogs ()}
+ delayedLogMoves := (fn () => (dlm ();
+ Slave.moveDirCreate {from = ldir,
+ to = backupLogs ()}))
end
| Slave.Add =>
let
end
| Slave.Add =>
let
@@
-378,15
+382,18
@@
val () = Slave.registerFileHandler (fn fs =>
let
val old = realLogDir oldUser
val rld = realLogDir user
let
val old = realLogDir oldUser
val rld = realLogDir user
+
+ val dlm = !delayedLogMoves
in
if !logDeleted then
()
else
in
if !logDeleted then
()
else
- (
ignore (OS.Process.system (down ()));
+ (
(*ignore (OS.Process.system (down ()));*)
logDeleted := true);
logDeleted := true);
- ignore (OS.Process.system (Config.rm
- ^ " -rf "
- ^ realLogDir oldUser));
+ delayedLogMoves := (fn () => (dlm ();
+ ignore (OS.Process.system (Config.rm
+ ^ " -rf "
+ ^ realLogDir oldUser))));
if Posix.FileSys.access (rld, []) then
()
else
if Posix.FileSys.access (rld, []) then
()
else
@@
-403,8
+410,9
@@
val () = Slave.registerFileHandler (fn fs =>
val () = Slave.registerPostHandler
(fn () =>
(if !vhostsChanged then
val () = Slave.registerPostHandler
(fn () =>
(if !vhostsChanged then
- Slave.shellF ([if !logDeleted then undown () else reload ()],
- fn cl => "Error reloading Apache with " ^ cl)
+ (Slave.shellF ([reload ()],
+ fn cl => "Error reloading Apache with " ^ cl);
+ if !logDeleted then !delayedLogMoves () else ())
else
()))
else
()))