[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56002: src/process.c; make-process fails to clean up stderr process
From: |
Tom Gillespie |
Subject: |
bug#56002: src/process.c; make-process fails to clean up stderr process on early exit |
Date: |
Wed, 15 Jun 2022 23:11:50 -0700 |
> Can you elaborate on what do you mean by "clean up the stderr
> process"? Do you see the code which does that in the "normal" cases?
I'm not entirely sure as I am unfamiliar with the life cycle for processes in
the runtime. I think that the "normal" cleanup happens when the parent
process exits with a return code. The stderr process is a pipe process so
I assume that under normal circumstances the pipe process would receive
a signal from the primary process via the os and exit allowing calls to
accept-process-output to complete and then presumably the gc would
take care of the rest? I have no idea if this is remotely accurate.
It does look like remote_process is called during other failures though.
> Sounds like we lack some unwind-protect call somewhere?
It does look like there are a number of calls to record_unwind_protect
(remove_process, proc); in the code. Maybe there is a missing
record_unwind_protect (remove_process, stderrproc); in make-process?