diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-23 00:30:12 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-23 00:30:12 +0000 |
| commit | 6e425a9de8c003b5a733621a6b6730ec3cc902b8 (patch) | |
| tree | 314123bcab78ff295f38f85f31dc141e5fe22d15 /appl/lib/chanfill.b | |
| parent | 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a (diff) | |
20061220
Diffstat (limited to 'appl/lib/chanfill.b')
| -rw-r--r-- | appl/lib/chanfill.b | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/appl/lib/chanfill.b b/appl/lib/chanfill.b index 7e7d2685..6f326ea6 100644 --- a/appl/lib/chanfill.b +++ b/appl/lib/chanfill.b @@ -32,25 +32,21 @@ init(data: array of byte, f: int, c: Sys->Rwrite, r: ref Sys->FileIO, b: Bufio): fill(b: ref Iobuf): int { for (;;) { - alt { - (nil, data, f, c) := <-fio.write => - if (f != fid) { - if (c != nil) - c <-= (0, "file busy"); - continue; - } - if (c == nil) - return Bufio->EOF; - c <-= (len data, nil); - i := len data; - if (i == 0) - continue; - b.buffer[b.size:] = data; - b.size += i; - b.filpos += big i; - return i; - * => - return Bufio->EOF; + (nil, data, f, c) := <-fio.write; + if (f != fid) { + if (c != nil) + c <-= (0, "file busy"); + continue; } + if (c == nil) + return Bufio->EOF; + c <-= (len data, nil); + i := len data; + if (i == 0) + continue; + b.buffer[b.size:] = data; + b.size += i; + b.filpos += big i; + return i; } } |
