예제 #1
0
/*
 * The timer is automagically restarted, when interval != 0
 */
enum hrtimer_restart it_real_fn(struct hrtimer *timer)
{
    struct signal_struct *sig =
        container_of(timer, struct signal_struct, real_timer);

    kill_pid_info(SIGALRM, SEND_SIG_PRIV, sig->leader_pid);

    return HRTIMER_NORESTART;
}
예제 #2
0
파일: itimer.c 프로젝트: AlexShiLucky/linux
/*
 * The timer is automagically restarted, when interval != 0
 */
enum hrtimer_restart it_real_fn(struct hrtimer *timer)
{
	struct signal_struct *sig =
		container_of(timer, struct signal_struct, real_timer);
	struct pid *leader_pid = sig->pids[PIDTYPE_TGID];

	trace_itimer_expire(ITIMER_REAL, leader_pid, 0);
	kill_pid_info(SIGALRM, SEND_SIG_PRIV, leader_pid);

	return HRTIMER_NORESTART;
}
예제 #3
0
/*
 * The timer is automagically restarted, when interval != 0
 */
enum hrtimer_restart it_real_fn(struct hrtimer *timer)
{
	struct signal_struct *sig =
		container_of(timer, struct signal_struct, real_timer);

	trace_itimer_expire(ITIMER_REAL, sig->leader_pid, 0);
#ifdef CONFIG_SCHED_CFS
	sched_wake_timer_enable();
#endif
	kill_pid_info(SIGALRM, SEND_SIG_PRIV, sig->leader_pid);
#ifdef CONFIG_SCHED_CFS
	sched_wake_timer_disable();
#endif

	return HRTIMER_NORESTART;
}