Question about closeing and opening stdin

Michael C. Shultz ringworm01 at gmail.com
Tue Nov 22 22:40:05 GMT 2005


On Tuesday 22 November 2005 10:50, Michael C. Shultz wrote:
> How do I close then open stdin and keep it set to the same terminal
> as when it was closed?  Everything I've tried so far has met with failure
> accept this works sort of and I don't get why:
>
> signal( SIGALRM, MGPMrTimer );
> alarm( 300 );	/* time out in 5 minutes */
> answer	= getc(stdin);
>
> the signal handler just closes descriptor 0 if a timeout occrs:
>
> close( 0 )
>
>
> then to reset stdin I tried this:
>
> stdinFileDescriptor = open( "/dev/tty", O_RDWR ) )
> stdin = fdopen( stdinFileDescriptor, "r" );
>
> and it works in this instance of the program, but
> if a second instance is started the second instance can't
> close stdin.
>
> I got the above idea from google, what I don't understand though
> is there is no /dev/tty!  So anyone have any suggested books
> I might read or tips so I can learn how to do this right, and understand
> why it works?
>
> Thank you,
>
> Mike

Please disregard the previous post, I figured it out, simple solution.

-Mike



More information about the freebsd-hackers mailing list