Christian Heimes added the comment:
I can't reproduce the issue with Python 3.2 and dup2 on Linux.
$ gcc -o py_main py_main_dup2.c -I/usr/include/python3.2mu -lpython3.2mu -lm
-pthread -ldl -lutil
$ ./py_main
log.txt contains 'foo' and the debug message, too. Is this still an issue for
you?
Amaury Forgeot d'Arc amaur...@gmail.com added the comment:
It looks very similar to issue6501.
Can you check if setting the environment variable
PYTHONIOENCODING=cp1252
solves the problem?
--
nosy: +amaury.forgeotdarc
___
Python tracker
Antoine Pitrou pit...@free.fr added the comment:
I don't think freopen() is the right solution, since it might open another
(different) file descriptor under the hood; but Python always uses file
descriptor 1 when creating sys.stderr.
I would suggest instead something such as (untested):
int
Mitchell Stokes moguri...@gmail.com added the comment:
Setting PYTHONIOENCODING=cp1252 does not help.
Also, dup2 is not available on Windows (at least not from what I've read).
From my understanding, freopen() is supposed to be the portable way to
redirect stdout.
--
Antoine Pitrou pit...@free.fr added the comment:
Also, dup2 is not available on Windows (at least not from what I've
read).
MSDN says dup2 is deprecated but you can use _dup2 instead:
http://msdn.microsoft.com/en-us/library/8syseb29%28v=VS.80%29.aspx
From my understanding, freopen() is
Mitchell Stokes moguri...@gmail.com added the comment:
I used _dup2() and I still got a crash. Also, if I use _fileno(stdout) after
using freopen(), I get 1.
I'm uploading two more example programs.
py_main_fileno_check.c prints the fileno to the text file
py_main_dup2.c uses _dup2() to
Changes by Mitchell Stokes moguri...@gmail.com:
Added file: http://bugs.python.org/file19220/py_main_dup2.c
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10080
___
Antoine Pitrou pit...@free.fr added the comment:
Thanks for the information. I'm afraid I can't be of any more help, since I'm
not a Windows developer. I hope someone else can chime in.
--
nosy: +brian.curtin, tim.golden
___
Python tracker
New submission from Mitchell Stokes moguri...@gmail.com:
I have Python embedded in a C/C++ program, and I'm trying to redirect stdout to
a text file. Since I'm trying to get rid of the console, I want C and Python
stdout going to the text file (so, not sys.stdout = open('log.txt', 'w')). To