fileno(stdin) versus STDIN_FILENO and friends
Chris Johns
chrisj at rtems.org
Tue Mar 15 00:46:53 UTC 2011
On 15/03/11 10:10 AM, Peter Dufault wrote:
>
> On Mar 14, 2011, at 6:56 , Chris Johns wrote:
>
>> I think it is reasonable to make this change. The whole shell and telnet
>> on RTEMS is an application trick to make the RTEMS "process" appear
>> multi-user and process based. We should attempt to make this emulation
>> appear as standard.
>
> I think (but don't know, but would like to know) that we're talking about behavior that isn't defined by a standard. If the behavior is defined, then RTEMS should ensure things follow the standard, but I haven't located a definition yet.
I do not know of a standard for managing these things inside a process
environment. The standards talk about processes and this is what we are
attempting to emulate with the shell and telnet. This is what I was
referring to.
> If we're operating outside of any definition
I think we are because you are using part of some application type code
that is the shell and telnet and here we would like the process
standards to apply if they make sense and it can be done.
> then I suggest RTEMS make the stdio thread inheritance behavior optional: I'd prefer an inherited stdin,stdout,stderr, and I'll look at what it takes to make it work in the newlib framework. Others might like the way it works now, where all threads revert to file descriptors 0, 1, and 2 for stdin, stdout, and stderr for newly created threads.
I agree for the shell and telnet type code and here I would make the
behaviour you want as the default.
For me the general thread create case will have wait and be based on
what you discover.
Chris
More information about the users
mailing list