On 05/06/07, Luke Crook <[EMAIL PROTECTED]> wrote: > Brad Beveridge <[EMAIL PROTECTED]> writes: > > > > So, you can use it, but the Slime debugger is pretty broken. > > Hmm, thinking slightly deeper on this: SDL installs handlers for > > SIGTERM and SIGINT. To cause a break Slime sends SIGINT (I think this > > is always true). What does this mean for our SDL on Lisp app? > > So, this brings to mind the question - can anybody break their SDL app > > with Slime's C-c C-b combo? If so, how the hell does this work? > > SDL+SBCL+Slime in win32 seems to work as advertised when C-c C-b is pressed. > SDL by default generates a quit interrupt when SIGTERM/SIGINT is received. So > I'm guessing Slime generates SIGTERM/SIGINT which is caught by SDL which in > turn generates a SDL_QuitEvent. So pressing C-c C-b causes the lispbuilder-sdl > applications to exit cleanly. > > Now C-c C-b when running lispbuilder-windows + lispbuilder-OpenRM kills the > Lisp image dead. > > Documentation on this is difficult to find.
Although SIGTERM causing the SDL app to cleanly exit is better than killing it dead, it would be really nice if it actually caused the program to break. I'm not a signals expert by any means, but is it only possible for any given process to have a single handler for a given signal? I suspect it must be this way. Slime only uses SIGINT when the communication style is :fd-handler, presumably :sigio communications already uses SIGINT. However, I can't actually see how Slime sets up SIGINT to be caught. Perhaps SIGINT normally drops Lisps into the debugger... Yes, hitting Ctrl-C in a terminal running SBCL gives me a debugger. So how have you guys been using lispbuilder? Does nobody use Slime's C-c C-b feature, or do the main devs not use Slime? Cheers Brad _______________________________________________ application-builder mailing list [email protected] http://www.lispniks.com/mailman/listinfo/application-builder
