Subject: Re: bug#50748: Acknowledgement (28.0.50; tramp-sh.el uses mknod file p which is not available on macos)

From: Michael Albinus <[email-masked]>
Date: Thu, 23 Sep 2021 16:58:20 +0200

Damien Merenne <[email-masked]> writes:

Hi Damien,

> No idea about the equivalent mknod command. Using strace on Linux
> shows that both `mknod p` and `mkfifo` results in the exact same
> `mknodat` system call so `mkfifo` could probably be always used ?

Nope. There are GNU/Linux systems, which do not offer the mkfifo
command. For example, my QNAP NAS (which I misuse as test target).

> It's still not working, I don't see any error regarding the mkfifo
> now, I attached the tramp debug buffer. I tried creating the fifo
> manually on the macos laptop and running the command
>
> cd /Users/dam/ &&  exec  2>'/tmp/tramp.EIPAXu' env
> INSIDE_EMACS\=28.0.50\,tramp\:2.5.2-pre
> PS1\=/ssh\:laptop.lan\:/Users/dam/\ \#\$\  sh -c while\ sleep\ 1\;\
> do\ echo\ \$\(hostname\)\ out\;\ echo\ \$\(hostname\)\ err\ \>\&2\;\
> done
>
> And there, it's working, I can cat the fifo and see the stderr output.
> No idea why tramp seems to stall. Running over tramp there is just no
> output in the stdout nor the stderr buffer.

Hmm. The provided traces look as they should. Perhaps we're missing
accept-process-output calls?

Could you, please, add to your test:

(while t
  (accept-process-output)
  (sit-for 0.1))

Best regards, Michael.