summaryrefslogtreecommitdiff
path: root/fw/doc/design.md
diff options
context:
space:
mode:
Diffstat (limited to 'fw/doc/design.md')
-rw-r--r--fw/doc/design.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/fw/doc/design.md b/fw/doc/design.md
index c14787c..1060ba6 100644
--- a/fw/doc/design.md
+++ b/fw/doc/design.md
@@ -143,6 +143,15 @@ forbid are dropped. pf and iptables leave them running until they time
out; that is a wart everyone has to learn, and "I blocked it, why is the
transfer still going" is the wrong thing to discover at 3am.
+**A file server, so it detaches.** `fw` posts to `/srv`, forks the
+server and lets the process you started exit — what 42 of the 47 file
+servers in `/sys/src/cmd` do, and the five that do not are stdio
+servers speaking 9P on their own standard input, which is a different
+thing altogether. So a supervisor watches the `/srv` name and not the
+pid, which `svc` already provides for. The name is only worth watching
+if it is honest, which is why anything that stops one part of `fw` now
+stops all of it.
+
**Per-rule logging to `/sys/log/fw`.** Global logging either floods a
disk or tells you nothing. `syslog(2)` does not create its file, so `fw`
says so at startup rather than dropping the lines silently.