From: Bruno H. <br...@cl...> - 2004-05-22 13:11:00
|
Sam wrote: > sometimes ^C results in a continuable error, sometimes not. > I just lost 2 days worth of computation because ^C resulted in a > "*** - Ctrl-C: User break" - not continuable! > (continue, :c do not work). > what does this mean? A continuable interruption is signalled by polling a flag that is set when the user presses Ctrl-C. A non-continuable interruption is signalled when this polling has not happened for some time (1 second or so). There are plenty of cases when the latter interruption is needed: LENGTH or EQUAL of circular lists, long computations with bignums or long-floats, ... If you can arrange your results in a global data structure of your program and a "resume" function, then the non-continuable errors won't lead to loss of data. This is certainly a thing that could be explained in the impnotes... > is it possible to ensure that all user breaks are continuable? You can certainly introduce a CUSTOM:** variable that forbids non-continuable interruptions. The downside is that the program will just hang or loop endlessly in such situations. Bruno |