Skip site navigation (1)Skip section navigation (2)
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>