Menu

Commit [r2690]  Maximize  Restore  History

I modified slightly the way interrupts are handled. There had been a

couple of mechanisms, and I tried to consolidate them. I elimitaed
call_intercept and merged it in with *asynint_ptr. Now the keyboard
interrupt can be used for C-user-defined interrupts. There is a new
variable asynint_code that can be set when an interrupt is signaled.
It is set to 0 by the system signal catcher. To generate a
user-defined interrupt, you need to set the KEYINT_MARK bit of
*asynint_ptr and set asynint_code to your integer code. Then when
this interrupt is fielded, it will call the keyboard interrupt handler
(set by set_inthandler imported from loader) which is a two argument
predicate. When it is called, the first argument will be the goal to
call when continuing out of the interrupt; the second argument will be
the value of asynint_code.

dwarren 2001-11-07

changed /trunk/XSB/emu/auxlry.h
changed /trunk/XSB/emu/builtin.c
changed /trunk/XSB/emu/call_xsb_i.h
changed /trunk/XSB/emu/emudef.h
changed /trunk/XSB/emu/init_xsb.c
changed /trunk/XSB/emu/subp.c
changed /trunk/XSB/syslib/x_interp.O
changed /trunk/XSB/syslib/x_interp.P
/trunk/XSB/emu/auxlry.h Diff Switch to side-by-side view
Loading...
/trunk/XSB/emu/builtin.c Diff Switch to side-by-side view
Loading...
/trunk/XSB/emu/call_xsb_i.h Diff Switch to side-by-side view
Loading...
/trunk/XSB/emu/emudef.h Diff Switch to side-by-side view
Loading...
/trunk/XSB/emu/init_xsb.c Diff Switch to side-by-side view
Loading...
/trunk/XSB/emu/subp.c Diff Switch to side-by-side view
Loading...
/trunk/XSB/syslib/x_interp.O
Binary file was changed.
/trunk/XSB/syslib/x_interp.P Diff Switch to side-by-side view
Loading...
MongoDB Logo MongoDB