From: Thomas Demmer Newsgroups: comp.os.msdos.djgpp Subject: Re: ctrl-c handling question Date: Wed, 28 Jan 1998 16:28:15 +0100 Organization: Lehrstuhl fuer Stroemungsmechanik Lines: 44 Message-ID: <34CF4E8F.95E933D6@LSTM.Ruhr-UNI-Bochum.De> References: <01bd2bf2$0f2058a0$542c5c8b AT aptiva> NNTP-Posting-Host: bvb.lstm.ruhr-uni-bochum.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Jerry van Dijk wrote: > When running the following program: > int main(void){ > int i; > i = 5; > while (i == 5) {;} > > return 0; > } > pressing CTRL-C will abort it. > However, when running the following program: > > int main(void) > { > while (1) { > } > } > pressing CTRL-C has no effect. > Anyone have any idea as to the cause and how to get around it ? > That's a flaw? of the DPMI host. It can only intercept ^C when your program touches memory. In the first case it does, unless you use -O2 or so to compile it. In the second case, there is no need do access memory, everything is inside registers. So, the DPMI host never sees the ^C. I think there is no way to come around this. I had to trim your program a bit, otherwise my news host would not le me post it. -- Ciao Tom ************************************************************* * Thomas Demmer * * Lehrstuhl fuer Stroemungsmechanik * * Ruhr-Uni-Bochum * * Universitaetsstr. 150 * * D-44780 Bochum * * Tel: +49 234 700 6434 * * Fax: +49 234 709 4162 * * http://www.lstm.ruhr-uni-bochum.de/~demmer * *************************************************************