----------------- |Timer |Signal | ----------------- |real |alrm | |virtual |vtalrm | |profile |prof | -----------------
[eclipse]: [user]. handler(N) :- getval(count, Count), writeln(signal(N)-Count), ( Count > 0 -> decval(count) ; set_timer(real, 0) % switch off the timer ). :- set_interrupt_handler(alrm, handler/1). user compiled traceable 372 bytes in 0.00 seconds yes. [eclipse]: setval(count, 4), set_timer(real, 0.5). yes. [eclipse]: signal(14) - 4 signal(14) - 3 signal(14) - 2 signal(14) - 1 signal(14) - 0