Lines Matching defs:rr

91 	__nisdb_rl_t	*rr;
93 for (rr = &rw->reader; rr != 0; rr = rr->next) {
94 if (rr->id == INV_PTHREAD_ID) {
95 rr = 0;
98 if (rr->id == id)
102 return (rr);
169 __nisdb_rl_t *rr = 0;
203 if ((rr = find_reader(myself, rw)) != 0) {
204 if (rr->count) {
266 if (rr != 0) {
267 rr->wait = 1;
271 if (rr != 0) {
272 rr->wait = 0;
283 if (rr != 0) {
284 rr->wait = 0;
314 __nisdb_rl_t *rr;
316 for (rr = &rw->reader; rr != 0; rr = rr->next) {
317 if (rr->id == id || rr->id == INV_PTHREAD_ID)
320 if (rw->reader_count == 0 && rr == &rw->reader) {
322 rr->id = id;
324 } else if (rr == 0) {
325 if ((rr = malloc(sizeof (__nisdb_rl_t))) == 0)
327 rr->id = id;
328 rr->count = 0;
333 rr->next = rw->reader.next;
334 rw->reader.next = rr;
337 rr->count++;
339 return (rr);
348 __nisdb_rl_t *rr;
372 rr = find_reader(myself, rw);
376 if (rr != 0) {
377 rr->wait = 1;
381 if (rr != 0) {
382 rr->wait = 0;
393 if (rr != 0) {
394 rr->wait = 0;
404 rr = increment_reader(myself, rw);
406 return ((rr == 0) ? ENOMEM : ret);
464 __nisdb_rl_t *rr, *prev;
498 for (rr = &rw->reader, prev = 0; rr != 0; prev = rr, rr = rr->next) {
499 if (rr->id == myself)
503 if (rr == 0 || rr->count == 0) {
511 rr->count--;
512 if (rr->count == 0) {
513 if (rr != &rw->reader) {
515 prev->next = rr->next;
516 free(rr);
522 if (rr->next != 0) {
523 rr = rr->next;
524 rw->reader.id = rr->id;
525 rw->reader.count = rr->count;
526 rw->reader.next = rr->next;
527 free(rr);
530 rr->id = INV_PTHREAD_ID;
593 __nisdb_rl_t *rr;
628 rr = &rw->reader;
630 if (rr->id == myself) {
634 rr = rr->next;
635 } while (rr != 0);