tag | line | file | source code |
fa | 1145 | drivers/char/tty_io.c | struct fasync_struct *fa, *prev; |
fa | 1151 | drivers/char/tty_io.c | for (fa = tty->fasync, prev = 0; fa; prev= fa, fa = fa->fa_next) { |
fa | 1152 | drivers/char/tty_io.c | if (fa->fa_file == filp) |
fa | 1157 | drivers/char/tty_io.c | if (fa) |
fa | 1159 | drivers/char/tty_io.c | fa = kmalloc(sizeof(struct fasync_struct), GFP_KERNEL); |
fa | 1160 | drivers/char/tty_io.c | if (!fa) |
fa | 1162 | drivers/char/tty_io.c | fa->magic = FASYNC_MAGIC; |
fa | 1163 | drivers/char/tty_io.c | fa->fa_file = filp; |
fa | 1164 | drivers/char/tty_io.c | fa->fa_next = tty->fasync; |
fa | 1165 | drivers/char/tty_io.c | tty->fasync = fa; |
fa | 1169 | drivers/char/tty_io.c | if (!fa) |
fa | 1172 | drivers/char/tty_io.c | prev->fa_next = fa->fa_next; |
fa | 1174 | drivers/char/tty_io.c | tty->fasync = fa->fa_next; |
fa | 1175 | 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 | 341 | include/linux/fs.h | extern void kill_fasync(struct fasync_struct *fa, int sig); |