git: kernel - Fix panic when X11 intercepts console (II)

看板DFBSD_commit作者時間15年前 (2010/09/06 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 28d7e704b1a949e1b01af023e51b33e2f87ce626 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sun Sep 5 11:14:49 2010 -0700 kernel - Fix panic when X11 intercepts console (II) * There is a secondary issue when the console is runs through a pty or other device and kqueue is used, the tty_token is not enough. * Rewrite kputchar() and shift all constty intercepts over to their own kernel thread. kputchar() will write to the dmesg buffer and will call cnputc() to write to the real console, and (for tprintf()) it will output a specified tty. But it will no longer attempt to write to the console tty via the kprintf() path. Instead kputchar() simply wakes up the monitoring kernel thread and the monitoring kernel thread tracks and copies the dmesg buffer to the constty. * This completely fixes the constty intercept issue. 'xconsole' now works perfectly. Nothing can go wrong. Go wrong. Go wrong. Summary of changes: sys/kern/subr_prf.c | 114 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 93 insertions(+), 21 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28d7e704b1a949e1b01af023e51b33e2f87ce626 -- DragonFly BSD source repository
文章代碼(AID): #1CW-8eau (DFBSD_commit)