/* * Skeleton procedures to read and write bounded buffers * */ #include "dftest.h" /* writebuf(k,v) -- write value v to buffer k * */ void writebuf(k, v) int k, v; { bufrec * p; /* you'll have to do the write procedure */ } /* readbuf(k) -- return a value from buffer k * */ int readbuf(k) int k; { bufrec * p; int v; p = (bufrec *) (sbase() + sizeof(bufrec)*k); while (p->count == 0) sleep(1); v = (p->buf)[ p->out ] ; p->out = (p->out + 1) % BUFSIZE ; p->count = p->count - 1 ; return v; }