This is the mail archive of the
cygwin
mailing list for the Cygwin project.
1.5.12: TERM environment reset to "cygwin" after fork()
- From: "B. Scott Smith" <scott at smithdomain dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 03 Dec 2004 16:21:40 -0500
- Subject: 1.5.12: TERM environment reset to "cygwin" after fork()
Hi all,
Version: CYGWIN_NT-5.0 -- 1.5.12(0.116/4/2) -- i686 unknown unknown Cygwin
I set the TERM environment variable in my application by calling
setenv(). A subsequent call to getenv("TERM") yields the expected value.
However, after performing a fork(), the call to getenv("TERM") returns
"cygwin". This is the case for both the parent and the child.
-- I have found a big clue. If I set the TERM variable in the Windows
environment prior to running my program (it can be set to anything at
all), it works as expected.
Any ideas?
Thanks
------
Code snippet:
setenv("TERM", "ansi", 1);
/* ... blah, blah, ... */
printf("TERM is: %s\n", getenv("TERM")); /* prints "ansi" as expected */
int i = fork();
if (i < 0)
printf("Bad Business...");
else if ( i > 0 )
printf("parent TERM is: %s\n", getenv("TERM")); /* prints "cygwin" */
else
printf("child TERM is: %s\n", getenv("TERM")); /* prints "cygwin" */
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/