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

Reply via email to