On 12/26/2010 01:43 AM, David Kuehling wrote: >>>>>> "David" == David Kuehling <[email protected]> writes: > >>>>>> "Xiangfu" == Xiangfu Liu <[email protected]> writes: > >>> when we run 'ash' 'bash' in gmenu2x it's always give me : /bin/ash : >>> can't access tty; job control is turned off when start 'ash' 'bash' >>> (http://en.qi-hardware.com/wiki/OpenWrt_Software_Image#Image_2010-12-14 >>> see the * KNOWN ISSUES) > >> Ok, after lots of trial and error, I now have a fix that works. It is >> *ugly*, need to clean it up a bit, but anyways: > [..] > > Turns out there is a much more concise fix for the problem: > > --8<-- > int pid = setsid(); > tcsetpgrp(1, pid); > ioctl(1, TIOCSCTTY, (char *)1); > --8<--
Hi David just test your code. it works fine. but the tcsetpgrp(1, pid); it always return "-1". seems we don't need it. form the manual: http://pubs.opengroup.org/onlinepubs/009695399/functions/setsid.html when we run 'setsid', pid have no controlling terminal, so 'tcsetpgrp' will fail. one question about ioctl(1, TIOCSCTTY, (char *)1); the first "1" means /dev/tty1, right?? what is the meaning of "(char *)1"? > > A properly formatted and commented patch is attached below (don't have > commit access to gmenu2x). now you can commit to gmenu2x. Wolfgang have added you to the "gmenu2x.git". :) > > cheers, > > David -- Best Regards Xiangfu -- Qi RSS feed, http://en.qi-hardware.com/feed/rss20.xml -- _______________________________________________ Qi Hardware Discussion List Mail to list (members only): [email protected] Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion

