• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/db-4.8.30/lock/

Lines Matching refs:waiters

284 			 * Go through both waiters and holders.  Don't bother
287 * awakened as their waiters are released.
289 for (lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock);
291 lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock))
609 * anyone on the holders list OR anyone on the waiters list.
625 * In case of conflict, we put the new lock on the end of the waiters
637 * join the waiters queue. This must be done as a single operation
701 * Look for conflicting waiters.
704 lp, &sh_obj->waiters, links, __db_lock)
710 * If there are no conflicting holders or waiters,
747 &sh_obj->waiters, __db_lock);
855 SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock)) == NULL) {
864 &sh_obj->waiters, newl, links, __db_lock);
868 &sh_obj->waiters, lp, newl, links, __db_lock);
871 SH_TAILQ_INSERT_TAIL(&sh_obj->waiters, newl, links);
1286 SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock) == NULL) {
1524 SH_TAILQ_INIT(&sh_obj->waiters);
1703 * Look through the waiters and holders lists and decide which (if any)
1726 * locks, and there are waiters, but no one gets promoted, then we
1729 * no waiters, or we actually promoted someone, then we are OK and we
1736 for (lp_w = SH_TAILQ_FIRST(&obj->waiters, __db_lock),
1762 SH_TAILQ_REMOVE(&obj->waiters, lp_w, links, __db_lock);
1772 * If this object had waiters and doesn't any more, then we need
1775 if (had_waiters && SH_TAILQ_FIRST(&obj->waiters, __db_lock) == NULL) {
1796 * remove the lock from the list of waiters, set the status field of the
1816 SH_TAILQ_REMOVE(&sh_obj->waiters, lockp, links, __db_lock);
1819 if (SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock) == NULL) {