Lines Matching refs:writer
48 * one-writer-or-many-readers locking. The following restrictions
284 item->readers = item->writer = 0;
287 item->writer = 1;
363 * There's a writer, but it's us
371 (item->writer == 0 && item->readers == 0))
373 if (item->writer == 0 && readwrite > 0)
375 if ((item->writer != 0 && item->writer_id == me))
387 if (item->writer == 0) {
391 item->writer++;
420 if (item->readers == 0 && item->writer == 0)
422 if (item->writer != 0 && item->writer_id == mtid)
459 (item->writer > 0 || item->readers > 0)) {
478 if (item->readers == 0 && item->writer == 0 &&
513 if (nl->readers == 0 && nl->writer == 0)
515 if (nl->writer != 0 && nl->writer_id == mtid)
548 (nl->writer > 0 || nl->readers > 0)) {
564 if (nl->readers == 0 && nl->writer == 0 && table->destroyItem != 0) {
589 if ((readwrite < 0 && abs(readwrite) > item->writer) ||
590 (readwrite < 0 && item->writer > 0 &&
599 item->writer += readwrite;
600 if (item->writer == 0 && item->keychain >= 0) {
629 item->readers == 0 && item->writer == 0 &&
650 if (item->writer > 0) {