| tag | line | file | source code |
| fa | 1152 | drivers/char/tty_io.c | struct fasync_struct *fa, *prev; |
| fa | 1158 | drivers/char/tty_io.c | for (fa = tty->fasync, prev = 0; fa; prev= fa, fa = fa->fa_next) { |
| fa | 1159 | drivers/char/tty_io.c | if (fa->fa_file == filp) |
| fa | 1164 | drivers/char/tty_io.c | if (fa) |
| fa | 1166 | drivers/char/tty_io.c | fa = kmalloc(sizeof(struct fasync_struct), GFP_KERNEL); |
| fa | 1167 | drivers/char/tty_io.c | if (!fa) |
| fa | 1169 | drivers/char/tty_io.c | fa->magic = FASYNC_MAGIC; |
| fa | 1170 | drivers/char/tty_io.c | fa->fa_file = filp; |
| fa | 1171 | drivers/char/tty_io.c | fa->fa_next = tty->fasync; |
| fa | 1172 | drivers/char/tty_io.c | tty->fasync = fa; |
| fa | 1176 | drivers/char/tty_io.c | if (!fa) |
| fa | 1179 | drivers/char/tty_io.c | prev->fa_next = fa->fa_next; |
| fa | 1181 | drivers/char/tty_io.c | tty->fasync = fa->fa_next; |
| fa | 1182 | drivers/char/tty_io.c | kfree_s(fa, sizeof(struct fasync_struct)); |
| fa | 126 | fs/fcntl.c | void kill_fasync(struct fasync_struct *fa, int sig) |
| fa | 128 | fs/fcntl.c | while (fa) { |
| fa | 129 | fs/fcntl.c | if (fa->magic != FASYNC_MAGIC) { |
| fa | 134 | fs/fcntl.c | if (fa->fa_file->f_owner > 0) |
| fa | 135 | fs/fcntl.c | kill_proc(fa->fa_file->f_owner, sig, 1); |
| fa | 137 | fs/fcntl.c | kill_pg(-fa->fa_file->f_owner, sig, 1); |
| fa | 138 | fs/fcntl.c | fa = fa->fa_next; |
| fa | 344 | include/linux/fs.h | extern void kill_fasync(struct fasync_struct *fa, int sig); |