NAME
- srv - server registry
SYNOPSIS
-
bind #s
[
spec
]
/chan
sys->bind("#s spec ", "/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
-
- /chan
- directory to which srv is conventionally bound by various applications
SOURCE
-
/emu/port/devsrv.c
/os/port/devsrv.c SEE ALSO
- plumb(1), wm(1), sys-file2chan(2)
BUGS
- A client with a read or write pending can remain blocked if the server exits before reply.
| SRV(3) | Rev: Tue Jan 29 13:11:47 GMT 2008 |