Lines Matching refs:wrapTC

338 	wrap_timer_call_t *wrapTC = (wrap_timer_call_t *)vTChdl;
340 (*(wrapTC->hdlr.cyh_func))( wrapTC->hdlr.cyh_arg );
342 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, mach_absolute_time(), &(wrapTC->deadline) );
343 timer_call_enter1( &(wrapTC->call), (void *)wrapTC, wrapTC->deadline, TIMER_CALL_CRITICAL | TIMER_CALL_LOCAL );
346 if (wrapTC->when.cyt_interval == WAKEUP_REAPER)
347 thread_wakeup((event_t)wrapTC);
351 timer_call_add_cyclic(wrap_timer_call_t *wrapTC, cyc_handler_t *handler, cyc_time_t *when)
355 timer_call_setup( &(wrapTC->call), _timer_call_apply_cyclic, NULL );
356 wrapTC->hdlr = *handler;
357 wrapTC->when = *when;
359 nanoseconds_to_absolutetime( wrapTC->when.cyt_interval, (uint64_t *)&wrapTC->when.cyt_interval );
362 wrapTC->deadline = now;
364 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, now, &(wrapTC->deadline) );
365 timer_call_enter1( &(wrapTC->call), (void *)wrapTC, wrapTC->deadline, TIMER_CALL_CRITICAL | TIMER_CALL_LOCAL );
367 return (cyclic_id_t)wrapTC;
373 wrap_timer_call_t *wrapTC = (wrap_timer_call_t *)cyclic;
375 while (!timer_call_cancel(&(wrapTC->call))) {
376 int ret = assert_wait(wrapTC, THREAD_UNINT);
379 wrapTC->when.cyt_interval = WAKEUP_REAPER;
389 wrap_timer_call_t *wrapTC = (wrap_timer_call_t *)cyclic;
391 return (wrapTC ? wrapTC->hdlr.cyh_arg : NULL);
397 wrap_timer_call_t *wrapTC = _MALLOC(sizeof(wrap_timer_call_t), M_TEMP, M_ZERO | M_WAITOK);
398 if (NULL == wrapTC)
401 return timer_call_add_cyclic( wrapTC, handler, when );
418 wrap_timer_call_t *wrapTC;
430 wrapTC = (wrap_timer_call_t *)(uintptr_t)t;
432 cyc_list[cpu_number()] = timer_call_add_cyclic(wrapTC, &cH, &cT);
494 wrap_thread_call_t *wrapTC = (wrap_thread_call_t *)vTChdl;
496 (*(wrapTC->hdlr.cyh_func))( wrapTC->hdlr.cyh_arg );
498 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, mach_absolute_time(), &(wrapTC->deadline) );
499 (void)thread_call_enter1_delayed( wrapTC->TChdl, (void *)wrapTC, wrapTC->deadline );
502 if (wrapTC->when.cyt_interval == WAKEUP_REAPER)
503 thread_wakeup((event_t)wrapTC);
511 wrap_thread_call_t *wrapTC = _MALLOC(sizeof(wrap_thread_call_t), M_TEMP, M_ZERO | M_WAITOK);
512 if (NULL == wrapTC)
515 wrapTC->TChdl = thread_call_allocate( _cyclic_apply, NULL );
516 wrapTC->hdlr = *handler;
517 wrapTC->when = *when;
522 nanoseconds_to_absolutetime(wrapTC->when.cyt_interval, (uint64_t *)&wrapTC->when.cyt_interval);
525 wrapTC->deadline = now;
527 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, now, &(wrapTC->deadline) );
528 (void)thread_call_enter1_delayed( wrapTC->TChdl, (void *)wrapTC, wrapTC->deadline );
530 return (cyclic_id_t)wrapTC;
542 wrap_thread_call_t *wrapTC = (wrap_thread_call_t *)cyclic;
546 while (!thread_call_cancel(wrapTC->TChdl)) {
547 int ret = assert_wait(wrapTC, THREAD_UNINT);
550 wrapTC->when.cyt_interval = WAKEUP_REAPER;
556 if (thread_call_free(wrapTC->TChdl))
557 _FREE(wrapTC, M_TEMP);
560 wrapTC->hdlr.cyh_func = noop_cyh_func;
561 wrapTC->when.cyt_interval = NEARLY_FOREVER;