- Abortion of shell scripts and proper handling of signals.
- In UNIX terminal sessions, you usually have a key like
C-c(Control-C) to immediately end whatever program you have running in the foreground. This should work even when the program you called has called other programs in turn. Everything should be aborted, giving you your command prompt back, no matter how deep the call stack is.
Basically, it's trivial. But the existence of interactive applications that use SIGINT and/or SIGQUIT for other purposes than a complete immediate abort make matters complicated, and - as was to expect - left us with several ways to solve the problems. Of course, existing shells and applications follow different ways.
This web page outlines different ways to solve the problem and argues that only one of them can do everything right, although it means that we have to fix some existing software.
- Advanced signal handlers and floating point
- Examples of floating-point handling in FreeBSD and Linux, how to find out the cause of a floating point exceptions, drawbacks of the Intel chips with regards to floating point. [Web page not written yet, but I have source examples you may request by mail]
- Debug GNU Objective C
- How to debug GNU Objective C when your gdb doesn't have the slightest idea what Objective-C is. This one used to be my first Web page back in February 1995.
- The Common Lisp programming language
- My Lisp page.