taglinefilesource code
sig234include/linux/sched.hextern int send_sig(long sig,struct task_struct * p,int priv);
sig231include/linux/tty.hextern int is_ignored(int sig);
sig232include/linux/tty.hextern int tty_signal(int sig, struct tty_struct *tty);
sig233include/linux/tty.hextern int kill_pg(int pgrp, int sig, int priv);
sig255kernel/chr_drv/tty_io.cint is_ignored(int sig)
sig257kernel/chr_drv/tty_io.creturn ((current->blocked & (1<<(sig-1))) ||
sig258kernel/chr_drv/tty_io.c(current->sigaction[sig-1].sa_handler == SIG_IGN));
sig276kernel/chr_drv/tty_io.cint tty_signal(int sig, struct tty_struct *tty)
sig278kernel/chr_drv/tty_io.c(void) kill_pg(current->pgrp,sig,1);
sig21kernel/chr_drv/tty_ioctl.cextern int kill_pg(int pgrp, int sig, int priv);
sig21kernel/exit.cint send_sig(long sig,struct task_struct * p,int priv)
sig23kernel/exit.cif (!p || (sig < 0) || (sig > 32))
sig25kernel/exit.cif (!priv && ((sig != SIGCONT) || (current->session != p->session)) &&
sig28kernel/exit.cif (!sig)
sig30kernel/exit.cif ((sig == SIGKILL) || (sig == SIGCONT)) {
sig38kernel/exit.cif ((sig >= SIGSTOP) && (sig <= SIGTTOU)) 
sig41kernel/exit.cp->signal |= (1<<(sig-1));
sig44kernel/exit.cp->exit_code = sig;
sig188kernel/exit.cint kill_pg(int pgrp, int sig, int priv)
sig194kernel/exit.cif (sig<0 || sig>32 || pgrp<=0)
sig198kernel/exit.cif (sig && (err = send_sig(sig,*p,priv)))
sig206kernel/exit.cint kill_proc(int pid, int sig, int priv)
sig210kernel/exit.cif (sig<0 || sig>32)
sig214kernel/exit.creturn(sig ? send_sig(sig,*p,priv) : 0);
sig222kernel/exit.cint sys_kill(int pid,int sig)
sig228kernel/exit.creturn(kill_pg(current->pgrp,sig,0));
sig233kernel/exit.cif ((err = send_sig(sig,*p,0)) != -EPERM)
sig239kernel/exit.creturn(kill_pg(-pid,sig,0));
sig241kernel/exit.creturn(kill_proc(pid,sig,0));