diff options
Diffstat (limited to 'docs/fs.md')
| -rw-r--r-- | docs/fs.md | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -153,8 +153,15 @@ appends to the directory's `+Errors` pane. Holding `event` open redirects the pane's Look and Exec clicks to that client; writing a record back performs the action. `ctl` reads acme's window status line — serial, tag length, body length, a reserved zero, the dirty flag, the width in cells, the font and the -tab width — and takes one verb, `get`, which reloads the buffer from the name -it carries. +tab width — and takes `get`, which reloads the buffer from the name it +carries, and acme's `lock` and `unlock` (editors/acme/xfid.c:603-611), for an +edit of several writes to `addr` and `data` that another client must not +land in the middle of. As in acme the lock binds only the clients that take +it: a `lock` while another open holds it waits until that open writes +`unlock` or closes (or the pane does), and nothing else is refused for it -- +not a write to any other file, not the person at the keyboard. It belongs to +the open that wrote it, so only that open's `unlock` is taken; a write on an +open that cannot write (or the editor's own, on none) cannot lock. The three range files `addr`, `dot` and `limit` each read the pair of offsets they also accept, so copying one onto another is all that acme's `addr=dot`, |
