Popen4 -> null lines on Windows

P

Patrick L. Nolan

We have an application that works on Linux. It has to be ported
to Windows XP, and there's one bug that's driving me crazy.
There's a number-crunching program written in C++. It is invoked
by a Tkinter python script. The script uses the threading
module to separate out the heavy processing. The worker thread
uses popen4 to run the C++ program and capture its standard
output. This output is sent to the master thread through a
queue and displayed by the gui.

As I said, it works on Linux. On XP, every call to readline()
on the program's stdout returns only a zero-length string.
We are confident that the C++ program doesn't behave that
way. We have tried both popen2.popen4 and win32pipe.popen4.

Does this sound familiar to anyone?
 
V

vincent wehren

| We have an application that works on Linux. It has to be ported
| to Windows XP, and there's one bug that's driving me crazy.
| There's a number-crunching program written in C++. It is invoked
| by a Tkinter python script. The script uses the threading
| module to separate out the heavy processing. The worker thread
| uses popen4 to run the C++ program and capture its standard
| output. This output is sent to the master thread through a
| queue and displayed by the gui.
|
| As I said, it works on Linux. On XP, every call to readline()
| on the program's stdout returns only a zero-length string.
| We are confident that the C++ program doesn't behave that
| way. We have tried both popen2.popen4 and win32pipe.popen4.
|
| Does this sound familiar to anyone?

The output doesn't contain any low values by any chance? Does this also
happen when the "mode" flag is set to "b" for binary?

Vincent Wehren


|
| --
| * Patrick L. Nolan *
| * W. W. Hansen Experimental Physics Laboratory (HEPL) *
| * Stanford University *
 
P

Patrick L. Nolan

vincent wehren said:
| We have an application that works on Linux. It has to be ported
| to Windows XP, and there's one bug that's driving me crazy.
| There's a number-crunching program written in C++. It is invoked
| by a Tkinter python script. The script uses the threading
| module to separate out the heavy processing. The worker thread
| uses popen4 to run the C++ program and capture its standard
| output. This output is sent to the master thread through a
| queue and displayed by the gui.
|
| As I said, it works on Linux. On XP, every call to readline()
| on the program's stdout returns only a zero-length string.
| We are confident that the C++ program doesn't behave that
| way. We have tried both popen2.popen4 and win32pipe.popen4.
|
| Does this sound familiar to anyone?
The output doesn't contain any low values by any chance? Does this also
happen when the "mode" flag is set to "b" for binary?

It works the same with both "b" and "t".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top