45 lines
1.9 KiB
Plaintext
45 lines
1.9 KiB
Plaintext
|
From: pcg@aber.ac.uk (Piercarlo Grandi)
|
||
|
Newsgroups: comp.sources.unix
|
||
|
Subject: v27i195: team - portable multi-buffered tape streaming utility, Part01/01
|
||
|
Date: 13 Jan 1994 13:24:40 -0800
|
||
|
Approved: vixie@gw.home.vix.com
|
||
|
Message-ID: <1.758496249.28141@gw.home.vix.com>
|
||
|
|
||
|
Submitted-By: pcg@aber.ac.uk (Piercarlo Grandi)
|
||
|
Posting-Number: Volume 27, Issue 195
|
||
|
Archive-Name: team/part01
|
||
|
|
||
|
There exist a few filters that help tapes streams by buffering IO and
|
||
|
allowing reads to overlaps with writes under Unix. Most of these filters
|
||
|
rely on relatively unportable features, for example SYSV like shared
|
||
|
memory.
|
||
|
|
||
|
team is a filter that runs essentially unchanged on any Unix version, as
|
||
|
it relies only on features present in V7. A number of team processes
|
||
|
(team members) share a common input fd and a common output fd, and they
|
||
|
take turns at reading from the former and writing to the latter; they
|
||
|
synchronize by using a ring of pipes between them, where a "read-enable"
|
||
|
and a "write-enable" token circulate.
|
||
|
|
||
|
team is not just very portable, but also portable and efficient. It also
|
||
|
has some bells & whistles, like command line options to specify the
|
||
|
number of processes in a team, the block size for IO, and the volume
|
||
|
size of the input or output media. It also optionally reports its
|
||
|
progress.
|
||
|
|
||
|
Previous versions of team have been circulating (e.g. via alt.sources)
|
||
|
for several years; I have not found a bug for a long time, even if
|
||
|
surely they will exist.
|
||
|
|
||
|
The team source is GPL'ed, and it comes with no warranty.
|
||
|
|
||
|
Note: this program was developed entirely by the author in his own
|
||
|
time, using his own resources, on his machine, in the context of
|
||
|
his own research activities. In no way has the University of Wales,
|
||
|
Aberystwyth contributed aided or abetted to this work, for which
|
||
|
they bear no responsibility whatsoever. I am grateful to UWA for the
|
||
|
ability to use their systems (as a paying customer) to post this work.
|
||
|
|
||
|
pcg@aber.ac.uk (Piercarlo Grandi)
|
||
|
|