Open Matthew-Mosior opened 3 months ago
Thank you for taking the initiative here. I'll be happy to look into this once async becomes more stable. Right now, I'm still experimenting with different threadpool / runner implementations, and it is not yet clear how signal handling will work out.
On Linux, I'm planning to use epoll
for timers, signal handlers, and asynchronous IO, but epoll
only exists on Linux. For other Unix systems, there is kqueue
but I have no experience with that.
tl,dr: It is too early to make async a dependency of a central tool such as pack. I'm currently spending a lot of my free time with async, but it is definitely a non-trivial library.
@stefan-hoeck Not a problem, excited to help out in this direction!
Looking forward to seeing where async goes, it looks really solid already. Will be excited to hop back on this when the time is right (idris2-async is in a more stable place).
This PR enables the removal of temporary directories that used to linger after a mid-install Ctrl+C.
To accomplish this, the idris2-async library is utilized to race two threads within the
withTmpDir
function:SigINT
listener thread.finally
thread.This PR closes #288.