37 init
38 { chan AtoB = [1] of {
mtype, byte };
39 chan BtoC = [1] of {
mtype, byte };
40 chan CtoA = [1] of {
mtype, byte };
41 atomic {
42 run transfer(AtoB,
BtoC);
43 run channel(BtoC,
CtoA);
44 run
transfer(CtoA, AtoB)
45 };
46 AtoB!err,0; /* start */
47 0 /* hang */
48 }