asciilifeform: mircea_popescu: it only worx if you http://btcbase.org/log/2019-02-12#1895105 (i.e. add a 'delay' or i/o instruction (interestingly, the latter always work as abort-point , but only for the async select method )☝︎
asciilifeform: mircea_popescu: 'abort point' control transfer aint 'zero cost', lol, it adds cost to ~loops~
asciilifeform: mircea_popescu: still eating log, not yet seen what diana_coman is baking
asciilifeform: btw this is why i sewed ffa into a linkable lib. ~it~ can still be built with restrictions even if running inside a proggy with tasks etc
asciilifeform: http://btcbase.org/log/2019-02-12#1895234 << ffa uses exceptions strictly as 'fucking stop whole program (and if it's running on a micro, whole machine, and flash 'dead!' lamp) right nao!' , so won't impact. my understanding is that it'd impact only speed of the ~exceptions~, longjump is slower cuz it crosses pages -- cachaistically.☝︎☟︎
asciilifeform: hrm, also gotta add -- if the delay-powered self-destruct is made to work, then so will async killing (given as it dun have to be 'delay', can be triggered by 'entry', i.e. flag, just the same )
asciilifeform will return to this puzzler when returns.
asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask.☟︎
asciilifeform: diana_coman et al : meanwhile in useful debugologies : if you use gpr with gnatD flag , you get copies of the expanded sores of yer proggy
asciilifeform: currently i suspect that adacorpse deliberately broke it, this is ~the~ pheature they use to peddle their 'pro' gnat (specifically advertised as 'support of real-time annex' )
asciilifeform: nao clearly the thing is broken, it dun actually do what the standard demands. ( guess what else dunwork ? 'asynchronous select' , also required to work by the standard, and even within bounded time ) . nao remains to find wtf☟︎
asciilifeform: and in particular, ln. 1079 of s-taprop-linux.adb , which implements the pthread mechanics behind the gnat scheduler
asciilifeform: so then went to the standard docs. annex D ~in fact does~ mandate support for mircea_popescu-style 'halon switch, motherfucker' aborts. so then went to find , does gnat implement ?
asciilifeform: sooo went to experiment, and found that not only does diana_coman's async abort dunwork on ave1gnat , but even ordinary timeout abort behaves peculiarly (per the std) :
asciilifeform: diana_coman, mircea_popescu , et al : results of experiment & gnat src archaeology below :
asciilifeform: in 'nikita the peon' incident, is remembered largely because, per the chronicle, ivan iv was present, and clapped, but proclaimed 'it is unbecoming of man to imitate the birds'
asciilifeform: ( what's worse than 'straw & cardboard airplane' ? straw&cardboard that ~worx~, for 1 flight, and for no -- accessible to orc -- logical reason )
asciilifeform: supposedly didn't even splat. coupla would-be imitators (as late as 18th) did, tho
asciilifeform: diana_coman: i found in my notes from 'programming of hell' a possible pill for the async stop thing, will report once i verify that it actually cures , on the actual gnat
asciilifeform: imho the traditional kitchen-toilet system is inherently unhygienic
asciilifeform: i.e. fully an' properly separate rasterism from the comp per se, never buy video cards again..
asciilifeform: phf et al : 1 of asciilifeform's ancient backburner crackpotteries is... an iron x terminal. ( these -- existed, but would be imho useful to have a proper one, that 1) runs off rom 2) can drive N large displays )
asciilifeform: diana_coman et al : http://p.bvulpes.com/pastes/4SpwP/?raw=true << built, replicated test jig; i'ma lay the thing out on vivisection table properly after sleep ( spent today , among other things, fixing a furnace, bent wrists out , gotta let'em snap back )
asciilifeform: but nao i gotta, because it is exactly apropos
asciilifeform: this was so depressing, i did not even put in log