SRV 3
NAME
srv - server registry
SYNOPSIS
"bind #s" [
spec ]
/chan .EX sys->bind("#sspec", "/chan", Sys->MREPL);
DESCRIPTION
Srv converts between file system operations by applications
and messages on channels, as described in
sys-file2chan (2). Each attach that does not include a
spec produces a new instance: an empty directory owned
by the current user in which only files
may be created, and then only by
sys-file2chan , using a special internal interface.
Each such file initially has the same owner as the
directory, and permissions
8r600 (read-write for the owner only),
but the permissions can be changed by
Sys->wstat (see
sys-stat (2)) and thus
chmod (1). If mode
Sys->DMEXCL is thereby set, the file becomes exclusive-use and can be opened by
only one process at a time.
The file length and
mode bit
Sys->DMAPPEND may also be set by
wstat but are not interpreted by the system.
Files may be removed, directly using sys-remove (2) (and thus rm (1)), or indirectly by opening them with mode Sys->ORCLOSE (see sys-open (2)). File2chan also removes the corresponding file when the last references to the server's read and write channels have gone (eg, on server exit).
A spec may be given to name specific instances of srv , so that a new name space can bind in a service created in another. Only the owner (original creator) of the instance may attach to it, unless the mode of the service directory is changed using Sys->wstat (see sys-stat (2)) to have general access.
FILES
.TF /chan
/chan directory to which srv is conventionally bound by various applications
SOURCE
/emu/port/devsrv.c SEE ALSO
plumb (1), wm (1), sys-file2chan (2)