IRC channel logs


back to list of logs

<rlb>civodul wingo: OK, here's one possible fix (last two commits) for the primitive-fork deadlocks (and thread-join more generally): I can clean it up further, but wanted to see if it was plausible first.
<rlb>Commit messages should explain things, but the general idea is to have thread-join wait until the on_thread_exit destructor has finished too (wrt locks, etc.).
<rlb>I do feel like there might be a way to simplify things more broadly at some point, but haven't thought about it hard yet, and just tried to be more incremental for now.
<rlb>Forgot to destroy the mutex and cv in the fork fix -- will push that later.
<civodul>rlb: woow, great work!
<civodul>the only “downside” is that it moves ‘join-thread’ back to C
<civodul>for the purposes of the signal thread, did you check whether the signal thread could be made a raw pthread_t instead of a Scheme thread?
<civodul>it’s prolly good to fix ‘join-thread’ regardless, though
<dthompson>does moving join-thread back to C cause problems for fibers?