IRC channel logs

2024-03-24.log

back to list of logs

<Aurora_v_kosmose>wingo: Oh I see. Interesting.
<Aurora_v_kosmose>wingo: How does the interrupt unwinding work out with safety of computations now?
<glenneth>hey folx o/
<glenneth>how are y’all doing?
<Aurora_v_kosmose>Quietly, it seems.
<ArneBab>Aurora_v_kosmose: wingo is usually available during specific times, so you’ll need patience.
<Aurora_v_kosmose>ArneBab: Oh it's fine. It's not like I don't usually idle here anyway.
<wingo>Aurora_v_kosmose: not sure how to answer so i will explain :) fibers can suspend at yield points. there are explicit yield points: for example waiting on a channel get. and, by default, whereever an async can run (see Asyncs in the manual; basically, function entry and loop back-edges) is potentially a yield point
<wingo>asyncs only run if, well, there are asyncs to run. in the default preemptive mode, fibers sets up a SIGITIMER to run at 100 Hz or something
<wingo>which will cause the OS to deliver a signal to the Guile process every 10 ms. this will schedule an async. fibers installs an async handler that yields the current thread.
<wingo>er. sorry, a signal handler, not an async handler
<wingo>signals get handled via an async also :P
<wingo>dunno if that makes it clear
<Aurora_v_kosmose>wingo: Somewhat. If an async or signal handler creates a continuation, does said continuation resume the computation that was otherwise ongoing within that thread?
<wingo>yep
<Aurora_v_kosmose>wingo: Ah. That's the puzzle piece I was missing then.