On Mon, Apr 03, 2017 at 04:19:24PM +0100, Richard W.M. Jones wrote:
Doing this breaks bash in virt-rescue with the error:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
Also ^C etc does not work.
Removing this ioctl call fixes this.
I noticed the problem because supermin's init compiled with dietlibc
worked, since the dietlibc header files don't define TIOCSCTTY and
hence the ioctl was not called.
---
init/init.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/init/init.c b/init/init.c
index e6fd0e6..aa6c25f 100644
--- a/init/init.c
+++ b/init/init.c
@@ -240,10 +240,6 @@ main ()
/* Make current process the controlling process of the tty. */
setsid ();
I forgot to add that setsid() is also not necessary, but unlike
the ioctl it doesn't seem to do any harm.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org