summaryrefslogtreecommitdiff
path: root/static/plan9-4e/man3/env.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
commit97d5c458cfa039d857301e1ca7d5af3beb37131d (patch)
treeb460cd850d0537eb71806ba30358840377b27688 /static/plan9-4e/man3/env.3
parentb89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff)
build: Better Build System
Diffstat (limited to 'static/plan9-4e/man3/env.3')
-rw-r--r--static/plan9-4e/man3/env.364
1 files changed, 64 insertions, 0 deletions
diff --git a/static/plan9-4e/man3/env.3 b/static/plan9-4e/man3/env.3
new file mode 100644
index 00000000..2724f2ac
--- /dev/null
+++ b/static/plan9-4e/man3/env.3
@@ -0,0 +1,64 @@
+.TH ENV 3
+.SH NAME
+env \- environment variables
+.SH SYNOPSIS
+.nf
+.B bind #e /env
+
+.BI /env/ var1
+.BI /env/ var2
+ ...
+.fi
+.SH DESCRIPTION
+The
+.I env
+device serves a one-level directory containing files with arbitrary names
+and contents.
+The intention is that the file name is the name of an
+.I environment variable
+(see
+.IR rc (1)),
+and the content is the variable's current value.
+.PP
+When a
+.IR fork (2)
+system call creates a new process, both the parent and the
+child continue to see exactly the same files in the
+.I env
+device: changes made in either process can be noticed by the other.
+In contrast, an
+.B rfork
+system call with the
+.B RFENVG
+bit set (see
+.IR fork (2))
+causes a split: initially both process groups see the
+same environment files, but any changes made in one process group
+cannot be noticed by the other.
+An
+.B rfork
+with
+.B RFCENVG
+splits and then clears the environment.
+.PP
+The special global environment
+.B #ec
+contains kernel configuration variables,
+such as those set in
+.IR plan9.ini (8).
+All processes see the same
+.BR #ec ;
+its contents are writable only by the host owner.
+[XXX actually everything is world writable; that's a mistake.]
+.SH SEE ALSO
+.IR rc (1),
+.IR fork (2),
+.B #c/reboot
+in
+.IR cons (3),
+.IR plan9.ini (8)
+.SH SOURCE
+.B /sys/src/9/port/devenv.c
+.SH BUGS
+A write starting at an offset after the current extent of a file
+yields an error instead of zero filling.