Message-ID: From: Shawn Hargreaves 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) Content-Type: text/plain; charset="iso-8859-1" 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.