delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/02/18/14:02:45

Message-ID: <F77915E7F086D31197F4009027CC81C9296A47@probe-2.as-london.acclaim.com>
From: Shawn Hargreaves <SHargreaves AT acclaimstudios DOT co DOT uk>
To: djgpp AT delorie DOT com
Subject: Re: unload_datafile( ) freezes - please help :(
Date: Fri, 18 Feb 2000 12:26:23 -0000
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2650.21)
Reply-To: djgpp AT delorie DOT com

Eli Zaretskii writes:
>>> Try pressing Ctrl-BREAK instead, and it should produce a regsiter 
>>> dump and a stack traceback.
>> 
>> Allegro catches Ctrl+Break in its keyboard handler.
>
> Does it gobble Ctrl-BREAK without a trace?  It obviously doesn't do
> that with Ctrl-C (see above).

The Allegro handler doesn't kill the program in response to ctrl+c
(that wouldn't be desirable for a majority of game/graphics type
applications), but it does have an emergency exit combo, ctrl+alt+del
or ctrl+alt+end, which is mapped onto the same thing (calls
__djgpp_hw_exception with %al = 0x79), which causes libc to print
the message about ctrl+c being pressed.

> If Allegro does cause Ctrl-BREAK disappear without a trace, I'd say
> that's a misfeature: the fact that Ctrl-BREAK generates a full
> traceback is a valuable feature, designed just for such cases where a
> program gets stuck in an endless loop.

Allegro doesn't know about ctrl+break (because I didn't until just
now :-) but I presume this would be hooked in the same way as calling
the ctrl+c handler, just with a different code?


	Shawn Hargreaves.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019