Lines Matching defs:call
81 thread_call_t call);
84 thread_call_t call,
87 thread_call_t call,
91 thread_call_t call,
98 thread_call_t call,
131 thread_call_t call;
155 call = internal_call_storage;
156 call < &internal_call_storage[internal_call_count];
157 call++) {
159 enqueue_tail(&thread_call_internal_queue, qe(call));
176 thread_call_t call,
180 call_entry_setup(call, func, param0);
193 thread_call_t call;
198 call = TC(dequeue_head(&thread_call_internal_queue));
200 return (call);
213 thread_call_t call)
215 if ( call >= internal_call_storage &&
216 call < &internal_call_storage[internal_call_count] )
217 enqueue_head(&thread_call_internal_queue, qe(call));
233 thread_call_t call,
238 old_queue = call_entry_enqueue_tail(call, &group->pending_queue);
259 thread_call_t call,
265 old_queue = call_entry_enqueue_deadline(call, &group->delayed_queue, deadline);
284 thread_call_t call,
289 old_queue = call_entry_dequeue(call);
307 thread_call_t call,
310 timer_call_enter(&group->delayed_timer, call->deadline);
331 thread_call_t call;
334 call = TC(queue_first(&group->pending_queue));
336 while (!queue_end(&group->pending_queue, qe(call))) {
337 if ( call->func == func &&
338 call->param0 == param0 ) {
339 thread_call_t next = TC(queue_next(qe(call)));
341 _call_dequeue(call, group);
343 _internal_call_release(call);
349 call = next;
352 call = TC(queue_next(qe(call)));
376 thread_call_t call;
379 call = TC(queue_first(&group->delayed_queue));
381 while (!queue_end(&group->delayed_queue, qe(call))) {
382 if ( call->func == func &&
383 call->param0 == param0 ) {
384 thread_call_t next = TC(queue_next(qe(call)));
386 _call_dequeue(call, group);
388 _internal_call_release(call);
394 call = next;
397 call = TC(queue_next(qe(call)));
417 thread_call_t call;
424 call = TC(queue_first(&group->pending_queue));
426 while (unique_call && !queue_end(&group->pending_queue, qe(call))) {
427 if ( call->func == func &&
428 call->param0 == param ) {
432 call = TC(queue_next(qe(call)));
435 if (!unique_call || queue_end(&group->pending_queue, qe(call))) {
436 call = _internal_call_allocate();
437 call->func = func;
438 call->param0 = param;
439 call->param1 = NULL;
441 _pending_call_enqueue(call, group);
463 thread_call_t call;
470 call = _internal_call_allocate();
471 call->func = func;
472 call->param0 = param;
473 call->param1 = 0;
475 _delayed_call_enqueue(call, group, deadline);
477 if (queue_first(&group->delayed_queue) == qe(call))
478 _set_delayed_call_timer(call, group);
531 thread_call_t call = zalloc(thread_call_zone);
533 call_entry_setup(call, func, param0);
535 return (call);
545 thread_call_t call)
552 if (call->queue != NULL) {
562 zfree(thread_call_zone, call);
572 * Returns TRUE if the call was
577 thread_call_t call)
586 if (call->queue != &group->pending_queue) {
587 result = _pending_call_enqueue(call, group);
593 call->param1 = 0;
603 thread_call_t call,
613 if (call->queue != &group->pending_queue) {
614 result = _pending_call_enqueue(call, group);
620 call->param1 = param1;
634 * Returns TRUE if the call was
639 thread_call_t call,
649 result = _delayed_call_enqueue(call, group, deadline);
651 if (queue_first(&group->delayed_queue) == qe(call))
652 _set_delayed_call_timer(call, group);
654 call->param1 = 0;
664 thread_call_t call,
675 result = _delayed_call_enqueue(call, group, deadline);
677 if (queue_first(&group->delayed_queue) == qe(call))
678 _set_delayed_call_timer(call, group);
680 call->param1 = param1;
693 * Returns TRUE if the call was
698 thread_call_t call)
707 result = _call_dequeue(call, group);
718 * Returns TRUE if the call is
725 thread_call_t call,
735 if (call->queue == &group->delayed_queue) {
737 *deadline = call->deadline;
750 * Wake a call thread to service
751 * pending call entries. May wake
753 * create additional call threads.
815 thread_call_t call;
819 call = TC(dequeue_head(&group->pending_queue));
822 func = call->func;
823 param0 = call->param0;
824 param1 = call->param1;
826 call->queue = NULL;
828 _internal_call_release(call);
925 thread_call_t call;
934 call = TC(queue_first(&group->delayed_queue));
936 while (!queue_end(&group->delayed_queue, qe(call))) {
937 if (call->deadline <= timestamp) {
938 _pending_call_enqueue(call, group);
944 call = TC(queue_first(&group->delayed_queue));
947 if (!queue_end(&group->delayed_queue, qe(call)))
948 _set_delayed_call_timer(call, group);