Subject: bug#43226: 28.0.50; Running Tramp tests on MS-Windows leaves zombie processes on the remote

From: Eli Zaretskii <[email-masked]>
Date: Tue, 25 Oct 2022 22:17:50 +0300

> From: Henrik Ahlgren <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 25 Oct 2022 16:56:37 +0300
> 
> Consider this example that seems to work fine (no cmdproxy involved):
> 
> (let ((start-file-process "eoftest" (get-buffer-create "*eoftest*")
> 			  "ssh" "<hostname>" "cat"))
>   (sit-for 10)
>   (process-send-string sshz "foo")
>   (sit-for 5)
>   (process-send-eof sshz))
> 
> vs this that hangs, leaving cat running forever:
> 
> (let ((default-directory "/sshx:<hostname>:/home/my/git/dir")
>       (sshz start-file-process "eoftest" (get-buffer-create "*eoftest*")
> 			  "cat"))
>   (sit-for 10)
>   (process-send-string sshz "foo")
>   (sit-for 5)
>   (process-send-eof sshz))
> 
> The cat process does not even seem to receive any input ("foo") I trace
> it in the remote machine.

Maybe Michael (CC'ed) can explain how this is supposed to work,
because I don't think I understand.  The actual process run by Emacs
is ssh, not cat, so how is EOF supposed to get to the remote "cat"?

> ps. I wonder why my emails are not appearing in debbugs?

No clue.  Fortunately, Michael also knows about debbugs much more than
I do.