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

Reply via email to