asciilifeform: BingoBoingo: couldja plox add the billing calendar (with the hash-pseudonymised subscriber names from earlier) to the public www ? so folx dun have to ask why they're being billed at time t and for what
asciilifeform: mircea_popescu: believe or not, there are ancient moldy irons without interrupt controllers.
asciilifeform: mircea_popescu: good chance to fill the stack
asciilifeform: i dun see why you'd care, tho, unless game ~client~ also gotta thread.
asciilifeform: diana_coman: iirc winblows ~also~ only zcx.
asciilifeform: not that i aint willing to port to e.g. vax or whatever. for a fee..
asciilifeform: currently i have 0 intention of supporting the thing on sad platforms, folx who insist on crapple or microshit oughta do it with own hands
asciilifeform: diana_coman: when that thing is done running, plox to tar it up, i'ma replicate on other irons ( if effect is cache-sensitive, may show diff b/w irons )
asciilifeform: ( fwiw i (and other ru warez folk) like ancient at&t 'djvu' format, it is moar or less jpeg with optional ocr searchable track. a 300MB pdf turd becomes a 2-3MB djvu. )
asciilifeform: http://btcbase.org/log/2019-02-12#1895198 << btw diana_coman , if you know of other readables , plox to post (or at least the titles, i can dig up with own hands ) ; i oughta have posted burnes et al earlier, but seems like errybody is allergic to scans , so didn't hurry . and lemme know if you end up wanting others, i have the 'spark' text for instance.☝︎
asciilifeform: in e.g. airplane, 'exception' should mean that the entire comp shuts down and transfers control to 1 of the hot spare duplicates.☟︎
asciilifeform: ( at which point, the job of the proggy is to 1) tell operator ~which~ iron smoked 2) come to full stop, failing 'deadly' or 'safe' depending on design context )
asciilifeform: imho a proggy should not ever produce exceptions during normal operation, unless iron smokes.
asciilifeform: ( ffacalc ~does~ have a handler, strictly for trapping invalid cmdline args, ln. 75. )
asciilifeform: ( invoking coad ~can~ use handling, if it wants, the lib itself duncare about this )
asciilifeform: the part i dun use is 'handling', they dun get handled, they go to the last-chance trap where proggy stops.
asciilifeform: ( and since nobody asked 'where exactly does ffa use exceptions? i dun see any throws' -- answr is, ~all~ ada coad where bounds checks are enabled, theoretically 'uses' exception, if you break a bounds check what do you suppose happens.)
asciilifeform: btw, if you use exceptions, erry thread needs own last-chance exception eater (they dun cross thread boundaries)
asciilifeform: mircea_popescu: you dun make timeouts using magic periphs, but using the os scheduler ( which in turn uses interrupt controller , having oscillator of some form so you can do slices )
asciilifeform: mircea_popescu: this is an ancient evil, was called 'abstraction inversion'
asciilifeform: hrm i can't actually think of a periph that 'wants to know time'
asciilifeform: ( in ffa, exceptions are a 'catch fire' condition, and drop into the last-chance handler, but in moar complicated proggy, with, say, devices, you may want to actually handle and keep working )
asciilifeform: mircea_popescu: in that sense ideal test is empty loop, rather than loop containing an item that is simply heavy but not on acct of jumpism
asciilifeform: so it's a poor test of hypothesis of 'does longjmp runtime nail speed of jumps'
asciilifeform: iirc on unix it uses standard posix signals, on raw irons, whichever interrupt system the chip provides
asciilifeform: https://archive.is/HpVWP << likbez re the interrupts mechanism, if we end up wanting to try such thing. ( a bare-iron gnat will ~have~ to use it, for basic machine i/o handling, so asciilifeform is doomed to test it sooner or later , fwiw )
asciilifeform: currently diana_coman is the 'test all gnat knobs' pioneer; asciilifeform's item is deliberately spartan re what is used, as it was designed to run even on e.g. msdos, where there are no threads
asciilifeform: ( just as not yet used task system prior to diana_coman uncrating it )
asciilifeform: had not yet had occasion to put to use.
asciilifeform: it shits a signal handler into the obj. same as you'd have if you were writing daemon in c.
asciilifeform: it's a standard pkg, rather than gnatism (i.e. also worx on raw irons, anyffin with an interrupt controller)
asciilifeform: mircea_popescu: there's also the ada.interrupts package, which actually sets up signal handlers. if all you want is emergency stop of thread, that'll do it
asciilifeform: mircea_popescu: the obvious use case is e.g. dead FG
asciilifeform: i think mircea_popescu is suggesting to try with ~input~ block