On Mon, 1 Feb 1999, Alastair Reid wrote:
> /* On Unix (and almost every other system), the interrupt handlers perform
> * a longjmp to break out of the current computation.
> * On Win32 this does not work because the interrupt handler is run in
> * a separate thread from the main computation. Instead we set a
> * flag (the global variable "broken") to request an interrupt and
> * all potentially infinite loops of the evaluator check the flag using
> * the "allowBreak" call.
> */
> #define HANDLERS_CANT_LONGJMP IS_WIN32
Setting this to 1 gives the effect that hugs does not react to SIGINT
when waiting for input.
> Another possible solution would be to build Hugs using the BSD signal
> library which has a simpler semantics and, perhaps, a simpler
> implementation. However, I don't know how to do this.
I think one must #include <bsd/signal.h>, but I suppose it makes
no difference in this case.
Friedhelm