GNU bug report logs -
#33050
27.0.50; [macOS] Problem with process input with process-connection-type nil
Previous Next
Reported by: Filipp Gunbin <fgunbin <at> fastmail.fm>
Date: Mon, 15 Oct 2018 19:04:02 UTC
Severity: normal
Found in version 27.0.50
Done: Filipp Gunbin <fgunbin <at> fastmail.fm>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 33050 <at> debbugs.gnu.org (full text, mbox):
This may be the clue to the problem:
man termios(4):
If a process is in the foreground process group of its controlling termi-
nal, read operations are allowed. Any attempts by a process in a back-
ground process group to read from its controlling terminal causes a
SIGTTIN signal to be sent to the process's group unless one of the fol-
lowing special cases apply: If the reading process is ignoring or block-
ing the SIGTTIN signal, or if the process group of the reading process is
orphaned, the read(2) returns -1 with errno set to EIO and no signal is
sent. The default action of the SIGTTIN signal is to stop the process to
which it is sent.
I output the process-attributes of the started process, and note tpgid
(ID of foreground process group on the process’s tty) and tty:
- p-c-t t
attrs=((etime 0 0 7080 0) (start 23504 29912 167367 0) (nice . 0)
(tpgid . 16419) (tty . ttys001) (pgrp . 16419) (ppid . 98669) (state
. R) (comm . ldapsearch) (group . staff) (egid . 20) (user . fgunbin)
(euid . 501))
ldapsearch's pgrp=16419, it is using ttys001 for r/w, and it's in
foreground process group on that tty (tpgid . 16419)
- p-c-t nil
attrs=((etime 0 0 6177 0) (start 23504 29897 662718 0) (nice . 0)
(tpgid . 98669) (tty . ttys000) (pgrp . 16416) (ppid . 98669) (state
. R) (comm . ldapsearch) (group . staff) (egid . 20) (user . fgunbin)
(euid . 501))
ldapsearch's pgrp=16416, it is using ttys000 for r/w (??), and it is
NOT in foreground process group on that tty - (tpgid . 98669). 98669
is emacs, and emacs is in foreground - this is ok.
So the question is - why the process in the second case thinks that it
has a tty? When it tries to use it, it receives SIGTTIN and is stopped,
as termios man page says. My test case with p-c-t nil results in the
processed being stopped, indeed.
My knowledge of these things is very limited, forgive me if I'm clearly
wrong somewhere.
Filipp
This bug report was last modified 6 years and 152 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.