Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Nov 2005 13:24:49 -0800
From:      "Michael C. Shultz" <ringworm01@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Question about closeing and opening stdin
Message-ID:  <200511221324.49439.ringworm01@gmail.com>
In-Reply-To: <200511221050.49807.ringworm01@gmail.com>
References:  <200511221050.49807.ringworm01@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511221324.49439.ringworm01>