Opening half a pseudo tty

Zefram (A.Main@dcs.warwick.ac.uk)
Fri, 12 Apr 1996 22:12:42 +0100 (BST)


In Linux 1.3.80, I tried opening /dev/tty5, when /dev/pty5 had not been
opened at all. The process busy-waited in kernel space, in the open
syscall, until either interrupted (by, for example, SIGINT), or another
process opened /dev/pty5, at which point the open succeeded and
returned normally. The mode in which the two ends of the pty are
opened makes no difference. If the pty end is opened first, the tty
open succeeds and returns quickly.

Using the Alt-ScrollLock thing, I got a list of EIPs in functions such
as n_tty_open(), pty_open() and related functions. pty_open() is
evidently being called arbitrarily many times. At a rough guess, the
ERESTARTSYS in pty_open() is the culprit. I'm not certain of that
though. Could someone explain just what ERESTARTSYS does?

-zefram