Date: Wed, 4 Sep 2002 12:11:10 +0100 From: "Duncan Barclay" <dmlb@dmlb.org> To: "John E Hein" <jhein@timing.com> Cc: "Mark Santcroos" <marks@ripe.net>, <emulation@FreeBSD.ORG> Subject: Re: TIOCSCTTY not implemented in linuxulator? Message-ID: <001b01c25403$c65353e0$6d6020c2@pc598cam> References: <XFMail.20020903224917.dmlb@computer.my.domain><20020904020952.GB7157@dhcp01.pn.xcllnt.net><20020904064620.GA713@laptop.6bone.nl><000801c253f7$2cae8ea0$6d6020c2@pc598cam> <15733.59121.143526.699051@brain.timing.com>
next in thread | previous in thread | raw e-mail | index | archive | help
From: "John E Hein" <jhein@timing.com> Sent: Wednesday, September 04, 2002 11:56 AM [sorry about quoting/format, using outlook at ${REALJOB}] > Duncan Barclay wrote at 10:40 +0100 on Sep 4: > > > Hi Duncan, > > > > > > Can you find out (ktrace) to which devices it is sending these ioctls? > > > > It's the tty side of a pty/ttp pair. Matlab spawns a subprocess, and it's > > the subprocess that issues these ioctls. > > See this freebsd-emulation thread ("can't quit matlab"): > http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=2 06ec3e38e06e5d2&seekm=15218.39637.311548.512594_localhost.econ.vt.edu%40ns.s ol.net#link1 > > Note that the 540e is TIOCSCTTY: > > /usr/src/linux-2.2.19/include/asm-i386/ioctls.h:#define TIOCSCTTY 0x540E > > Particularly look at the 3rd message in the thread that talks about the > /dev/ptmx workaround and unix98 ptys. > If someone could solve this, it'd be great. > Yup, this is the problem I'm trying to solve. Exiting without using the /dev/ptmx problem. ktrace output on spawned matlab process. 54357 matlab_helper NAMI "/compat/linux/dev/ttyp2" 54357 matlab_helper NAMI "/dev/ttyp2" 54357 matlab_helper RET linux_newstat 0 54357 matlab_helper CALL setsid 54357 matlab_helper RET setsid 54357/0xd455 54357 matlab_helper CALL linux_open(0xbfbfed58,0x2,0x60) 54357 matlab_helper NAMI "/compat/linux/dev/ttyp2" 54357 matlab_helper NAMI "/dev/ttyp2" 54357 matlab_helper RET linux_open 4 54357 matlab_helper CALL linux_ioctl(0x4,TIOCSER_TEMT,0x8049362) 54357 matlab_helper RET linux_ioctl -1 errno 22 Invalid argument 54357 matlab_helper CALL linux_ioctl(0x4,TIOCSER_TEMT,0x8049367) 54357 matlab_helper RET linux_ioctl -1 errno 22 Invalid argument 54357 matlab_helper CALL linux_ioctl(0x4,TIOCSCTTY,0x8049362) 54357 matlab_helper RET linux_ioctl -1 errno 22 Invalid argument 54357 matlab_helper CALL getpgrp 54357 matlab_helper RET getpgrp 54357/0xd455 54357 matlab_helper CALL linux_ioctl(0x4,TIOCSPGRP,0xbfbfecb4) 54357 matlab_helper RET linux_ioctl 0 54357 matlab_helper CALL read(0,0xbfbfecfc,0x4) [end of trace] Trying to quit matlab causes it to hang, kill -9 works. If I start matlab with /usr/local/bin/matlab -glnx86 -nosplash -nodesktop so I get matlab running in a terminal, after the kill -9, the terminal doesn't receive keyboard input. Adding case LINUX_TIOCSCTTY: args->cmd = TIOCSCTTY; return (ioctl(p, (struct ioctl_args *)args)); to /sys/compat/linux/linux_ioctl.h, correctly restores the terminal but does not fix the exit problem itself. i.e. kill -9 is still needed. Duncan ________________________________________________________________________ Duncan Barclay | God smiles upon the little children, dmlb@dmlb.org | the alcoholics, and the permanently stoned. dmlb@freebsd.org| Steven King ________________________________________________________________________ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001b01c25403$c65353e0$6d6020c2>