Lines Matching refs:reader
78 rw->writer.id = rw->reader.id = INV_PTHREAD_ID;
79 rw->writer.count = rw->reader.count = 0;
80 rw->writer.next = rw->reader.next = 0;
91 for (rr = &rw->reader; rr != 0; rr = rr->next) {
228 /* Wait for reader(s) or writer to finish */
235 * - One reader, and it's us
243 rw->reader.id == myself))) {
266 /* If we're also a reader, indicate that we're blocking */
317 for (rr = &rw->reader; rr != 0; rr = rr->next) {
321 if (rw->reader_count == 0 && rr == &rw->reader) {
322 /* No previous reader */
334 rr->next = rw->reader.next;
335 rw->reader.next = rr;
498 /* Find the reader record */
499 for (rr = &rw->reader, prev = 0; rr != 0; prev = rr, rr = rr->next) {
514 if (rr != &rw->reader) {
525 rw->reader.id = rr->id;
526 rw->reader.count = rr->count;
527 rw->reader.next = rr->next;
629 rr = &rw->reader;
677 !(rw->reader_count == 1 && rw->reader.id == myself &&
678 rw->reader.count == 1))) ||
733 for (r = &rw->reader; r != 0; r = r->next) {