Lines Matching refs:timer

414 insert_timer(timer_T *timer)  in insert_timer()  argument
416 timer->tr_next = first_timer; in insert_timer()
417 timer->tr_prev = NULL; in insert_timer()
419 first_timer->tr_prev = timer; in insert_timer()
420 first_timer = timer; in insert_timer()
428 remove_timer(timer_T *timer) in remove_timer() argument
430 if (timer->tr_prev == NULL) in remove_timer()
431 first_timer = timer->tr_next; in remove_timer()
433 timer->tr_prev->tr_next = timer->tr_next; in remove_timer()
434 if (timer->tr_next != NULL) in remove_timer()
435 timer->tr_next->tr_prev = timer->tr_prev; in remove_timer()
439 free_timer(timer_T *timer) in free_timer() argument
441 free_callback(&timer->tr_callback); in free_timer()
442 vim_free(timer); in free_timer()
452 timer_T *timer = ALLOC_CLEAR_ONE(timer_T); in create_timer() local
455 if (timer == NULL) in create_timer()
460 timer->tr_id = last_timer_id; in create_timer()
461 insert_timer(timer); in create_timer()
463 timer->tr_repeat = repeat - 1; in create_timer()
464 timer->tr_interval = msec; in create_timer()
466 profile_setlimit(msec, &timer->tr_due); in create_timer()
467 return timer; in create_timer()
474 timer_callback(timer_T *timer) in timer_callback() argument
480 argv[0].vval.v_number = (varnumber_T)timer->tr_id; in timer_callback()
483 call_callback(&timer->tr_callback, -1, &rettv, 1, argv); in timer_callback()
495 timer_T *timer; in check_due_timer() local
509 for (timer = first_timer; timer != NULL && !got_int; timer = timer_next) in check_due_timer()
511 timer_next = timer->tr_next; in check_due_timer()
513 if (timer->tr_id == -1 || timer->tr_firing || timer->tr_paused) in check_due_timer()
515 this_due = proftime_time_left(&timer->tr_due, &now); in check_due_timer()
549 timer->tr_firing = TRUE; in check_due_timer()
550 timer_callback(timer); in check_due_timer()
551 timer->tr_firing = FALSE; in check_due_timer()
554 timer_next = timer->tr_next; in check_due_timer()
559 ++timer->tr_emsg_count; in check_due_timer()
576 if (timer->tr_repeat != 0 && timer->tr_id != -1 in check_due_timer()
577 && timer->tr_emsg_count < 3) in check_due_timer()
579 profile_setlimit(timer->tr_interval, &timer->tr_due); in check_due_timer()
580 this_due = proftime_time_left(&timer->tr_due, &now); in check_due_timer()
583 if (timer->tr_repeat > 0) in check_due_timer()
584 --timer->tr_repeat; in check_due_timer()
589 remove_timer(timer); in check_due_timer()
590 free_timer(timer); in check_due_timer()
637 timer_T *timer; in find_timer() local
641 FOR_ALL_TIMERS(timer) in find_timer()
642 if (timer->tr_id == id) in find_timer()
643 return timer; in find_timer()
653 stop_timer(timer_T *timer) in stop_timer() argument
655 if (timer->tr_firing) in stop_timer()
657 timer->tr_id = -1; in stop_timer()
660 remove_timer(timer); in stop_timer()
661 free_timer(timer); in stop_timer()
668 timer_T *timer; in stop_all_timers() local
671 for (timer = first_timer; timer != NULL; timer = timer_next) in stop_all_timers()
673 timer_next = timer->tr_next; in stop_all_timers()
674 stop_timer(timer); in stop_all_timers()
679 add_timer_info(typval_T *rettv, timer_T *timer) in add_timer_info() argument
691 dict_add_number(dict, "id", timer->tr_id); in add_timer_info()
692 dict_add_number(dict, "time", (long)timer->tr_interval); in add_timer_info()
695 remaining = proftime_time_left(&timer->tr_due, &now); in add_timer_info()
699 (long)(timer->tr_repeat < 0 ? -1 : timer->tr_repeat + 1)); in add_timer_info()
700 dict_add_number(dict, "paused", (long)(timer->tr_paused)); in add_timer_info()
708 put_callback(&timer->tr_callback, &di->di_tv); in add_timer_info()
715 timer_T *timer; in add_timer_info_all() local
717 FOR_ALL_TIMERS(timer) in add_timer_info_all()
718 if (timer->tr_id != -1) in add_timer_info_all()
719 add_timer_info(rettv, timer); in add_timer_info_all()
729 timer_T *timer; in set_ref_in_timer() local
732 for (timer = first_timer; !abort && timer != NULL; timer = timer->tr_next) in set_ref_in_timer()
734 if (timer->tr_callback.cb_partial != NULL) in set_ref_in_timer()
737 tv.vval.v_partial = timer->tr_callback.cb_partial; in set_ref_in_timer()
742 tv.vval.v_string = timer->tr_callback.cb_name; in set_ref_in_timer()
753 timer_T *timer; in timer_free_all() local
757 timer = first_timer; in timer_free_all()
758 remove_timer(timer); in timer_free_all()
759 free_timer(timer); in timer_free_all()
770 timer_T *timer = NULL; in f_timer_info() local
784 timer = find_timer((int)tv_get_number(&argvars[0])); in f_timer_info()
785 if (timer != NULL) in f_timer_info()
786 add_timer_info(rettv, timer); in f_timer_info()
799 timer_T *timer = NULL; in f_timer_pause() local
811 timer = find_timer((int)tv_get_number(&argvars[0])); in f_timer_pause()
812 if (timer != NULL) in f_timer_pause()
813 timer->tr_paused = paused; in f_timer_pause()
824 timer_T *timer; in f_timer_start() local
855 timer = create_timer(msec, repeat); in f_timer_start()
856 if (timer == NULL) in f_timer_start()
860 set_callback(&timer->tr_callback, &callback); in f_timer_start()
861 rettv->vval.v_number = (varnumber_T)timer->tr_id; in f_timer_start()
871 timer_T *timer; in f_timer_stop() local
881 timer = find_timer((int)tv_get_number(&argvars[0])); in f_timer_stop()
882 if (timer != NULL) in f_timer_stop()
883 stop_timer(timer); in f_timer_stop()