Lines Matching defs:rr

89 	__nisdb_rl_t	*rr;
91 for (rr = &rw->reader; rr != 0; rr = rr->next) {
92 if (rr->id == INV_PTHREAD_ID) {
93 rr = 0;
96 if (rr->id == id)
100 return (rr);
108 __nisdb_rl_t *rr;
140 __nisdb_rl_t *rr;
171 __nisdb_rl_t *rr = 0;
205 if ((rr = find_reader(myself, rw)) != 0) {
206 if (rr->count)
267 if (rr != 0) {
268 rr->wait = 1;
272 if (rr != 0) {
273 rr->wait = 0;
284 if (rr != 0) {
285 rr->wait = 0;
315 __nisdb_rl_t *rr;
317 for (rr = &rw->reader; rr != 0; rr = rr->next) {
318 if (rr->id == id || rr->id == INV_PTHREAD_ID)
321 if (rw->reader_count == 0 && rr == &rw->reader) {
323 rr->id = id;
325 } else if (rr == 0) {
326 if ((rr = malloc(sizeof (__nisdb_rl_t))) == 0)
328 rr->id = id;
329 rr->count = 0;
334 rr->next = rw->reader.next;
335 rw->reader.next = rr;
338 rr->count++;
340 return (rr);
349 __nisdb_rl_t *rr;
373 rr = find_reader(myself, rw);
377 if (rr != 0) {
378 rr->wait = 1;
382 if (rr != 0) {
383 rr->wait = 0;
394 if (rr != 0) {
395 rr->wait = 0;
405 rr = increment_reader(myself, rw);
407 return ((rr == 0) ? ENOMEM : ret);
465 __nisdb_rl_t *rr, *prev;
499 for (rr = &rw->reader, prev = 0; rr != 0; prev = rr, rr = rr->next) {
500 if (rr->id == myself)
504 if (rr == 0 || rr->count == 0) {
512 rr->count--;
513 if (rr->count == 0) {
514 if (rr != &rw->reader) {
516 prev->next = rr->next;
517 free(rr);
523 if (rr->next != 0) {
524 rr = rr->next;
525 rw->reader.id = rr->id;
526 rw->reader.count = rr->count;
527 rw->reader.next = rr->next;
528 free(rr);
531 rr->id = INV_PTHREAD_ID;
594 __nisdb_rl_t *rr;
629 rr = &rw->reader;
631 if (rr->id == myself) {
635 rr = rr->next;
636 } while (rr != 0);
648 __nisdb_rl_t *rr;