freenode/#sbcl - IRC Chatlog
Search
21:20:19
stassats
so much advice on the internet is wrong, like all the people trying to convince that fork+exec is really fast because of CoW
21:22:42
stassats
maybe interrupting fork is not a good idea and i should push the change that moves forking into a separate non-lisp thread
21:31:07
stassats
i actually want two dedicated threads for run-program houskeeping, the C one will fork, handle SIGCHLD and the lisp one will handle input/output polling
21:40:51
stassats
a dedicated thread doesn't help, seems like malloc itself is broken, maybe there's just no progress, not a real lock
22:36:28
stassats
run-program grabs the process lock, then calls fork(), which grabs the malloc lock, then another thread doing malloc gets interrupted by sigchld, which tries to grab the process lock
22:39:31
stassats
i really do need a thread to manage sigchld, or at least make the handler not grab a lock
22:42:56
stassats
i can try making that dispatching thread, that will actually be the one holding the lock and sigchld will just wake it up