Problems redirecting stdin/out for a task in 4.6.99.2
Till Straumann
strauman at slac.stanford.edu
Fri Jan 6 02:04:36 UTC 2006
Brett Swimley wrote:
>
>
> Till Straumann wrote:
>
>> Brett Swimley wrote:
>>
>>> Till -
>>>
>>> I'm noticing something similar to this with the rtems_monitor
>>> (mon-monitor.c). I tried your change by adding
>>>
>>> fileno(STDIN_FILENO);
>>
>>
>>
>> This is certainly bad, bad. fileno() expects a 'FILE *' argument
>> but you give it what it is supposed to return (an integer file
>> descriptor).
>>
> Yup, I should have looked at the prototype...
>
>>>
>>> prior to the tcgetattr, and tcsetattr calls for STDIN_FILENO.
>>> I also tried fileno(stdout) as you suggested.
>>
>>
>>
>> Please attach your code.
>>
> Code is in cpukit\libmisc\monitor\mon-monitor.c.
Well - I wanted to see how exactly you redirected stdin/stdout
and to what kind of device.
T.
>Pertinent section (I
> think) is shown below. I've never used the monitor before this
> particular app that I'm putting together, but the behavior just doesn't
> seem right. I need to press the ENTER key twice before I get the
> monitor prompt, and then the terminal advances to the next line. I'm
> also not getting echo.
>
> Perhaps this is not a related issue, but reading the description of the
> issue led me to believe it was...
>
> Thanks.
>
> Brett
>
> void
> rtems_monitor_task(
> rtems_task_argument monitor_flags
> )
> {
> rtems_tcb *debugee = 0;
> rtems_context *rp;
> rtems_context_fp *fp;
> char command_buffer[513];
> int argc;
> char *argv[64];
> boolean verbose = FALSE;
> struct termios term;
>
> fileno(stdin); ====> Added this call (now corrected).
>
> /*
> * Make the stdin stream characte not line based.
> */
>
> if (tcgetattr (STDIN_FILENO, &term) < 0)
> {
> fprintf(stdout,"rtems-monitor: cannot get terminal attributes.\n");
> }
> else
>
>
>
More information about the users
mailing list