It sounds like maybe the program you're calling isn't flushing its writes to stdout. If it doesn't, there's no way for Twisted to see its output until the program's output buffer overflows.
Thanks! I suspect that's exactly it... he's just printing to stdout. It's easy enough to throw a flush in there. Great idea! Thanks again, as I would not have considered that otherwise.
This e-mail message is intended only for the personal use of the recipient(s) named above. This message should be considered a confidential communication, and as such is not subject to disclosure to anyone who is not an intended recipient. If you are not an intended recipient, you may not legally review, copy or distribute this message. If you have received this communication in error, please notify the sender(s) immediately by e-mail and delete the original message from your computer system.
Gary Coulbourne wrote:
Thanks! I suspect that's exactly it... he's just printing to stdout. It's easy enough to throw a flush in there.
Note that you _still_ need the LineReceiver or similar logic, to make your software reliable; flushing just makes sure you get the results sooner, in smaller chunks. His program can do printf+fflush+printf+fflush before your program manages to do a single read, thus giving you two lines in one read, and needing LineReceiver to split them.