Lines Matching defs:waiter
180 rpc_dg_call_p_t waiter = *head, prev = NULL;
182 for ( ; waiter != NULL; prev = waiter, waiter = waiter->pkt_chain)
184 if (waiter == call)
240 rpc_dg_call_p_t waiter = NULL, prev = NULL;
251 * since a reservation waiter requires N+2 free packets in the pool
264 waiter = pool->rsv_waiters_head;
265 pool->rsv_waiters_head = waiter->pkt_chain;
274 for (waiter = pool->rsv_waiters_head; waiter != NULL;
275 prev = waiter, waiter = waiter->pkt_chain)
277 if (RPC_DG_CALL_IS_SERVER(waiter)
278 && pool->max_resv_pkt+1 >= waiter->n_resvs_wait)
281 pool->rsv_waiters_head = waiter->pkt_chain;
283 prev->pkt_chain = waiter->pkt_chain;
285 if (waiter->pkt_chain == NULL)
297 waiter = pool->pkt_waiters_head;
298 pool->pkt_waiters_head = waiter->pkt_chain;
303 * If we weren't able to dequeue a waiter, return now.
306 if (waiter == NULL)
313 waiter->is_in_pkt_chain = false;
323 if (call != waiter)
326 RPC_DG_CALL_LOCK(waiter);
329 rpc__dg_call_signal(waiter);
337 if (call != waiter)
339 if (RPC_DG_CALL_IS_SERVER(waiter))
341 RPC_DG_SCALL_RELEASE((rpc_dg_scall_p_t *) &waiter);
345 RPC_DG_CCALL_RELEASE((rpc_dg_ccall_p_t *) &waiter);
356 if (RPC_DG_CALL_IS_SERVER(waiter))
358 RPC_DG_SCALL_RELEASE_NO_UNLOCK((rpc_dg_scall_p_t *) &waiter);
362 RPC_DG_CCALL_RELEASE_NO_UNLOCK((rpc_dg_ccall_p_t *) &waiter);