Date: Wed, 07 Jul 1999 18:55:50 -0400 From: "Brian J. McGovern" <mcgovern@spoon.beta.com> To: hackers@freebsd.org Subject: Terminal CTRL-C processing... Message-ID: <199907072255.SAA12143@spoon.beta.com>
next in thread | raw e-mail | index | archive | help
This is a dumb question, but I've been trying to hack on it all day, and I'm getting frustrated, so I want throw this in the air for comment... I'm putting the finishing touches on a second revision of the Cyclades Z driver. Its pretty much there, except for when you hit CTRL-C with a shell.... I suspect the problem has to do with an ioctl() call that isn't completing properly, but I might be terribly wrong. In my first test scenario, when I hit CTRL-C, the application continues to write to the port (ie - the device driver write() routine continues to get called), but the data is basically garbage - rewrites of old data, command history - basically just junk output. I'm 99.9% sure its not the write half of the device drive, as I mentioned the write routine is actually being called repeatedly. On one run, I happened to catch some output (on screen, there doesn't appear to be anything in the logs) that a tiocsettr failed, so I suspected that maybe an IOCTL was getting called at too low of a priority, and the interrupt handler was just hosing it. So, I moved the spltty() call to the top of the routine, so baically the whole routine will run at the tty spl level. Then, on rerunning the test, the machine just hung. Any thoughts on what might be causing this when CTRL-C is hit? I'm expecting that SIGKILL is being sent to the ls command thats running, but I don't understand how that could hose the system so badly that everything else fails.... -Brian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907072255.SAA12143>