Reflecting on it further, I now think that even though stdio buffering might prohibit real-time output capturing, it's still a good idea to have such a feature because most programs will just continually output text to stdout and this of course can be easily captured. There'll only be problems in case an external program pauses outputting text at some point for whatever reason. In that case, not all output might make its way to Hollywood instantly because of stdio buffering. But it will reach Hollywood as soon as the program continues output to stdout. But since most programs don't behave that way, it's probably not much of an issue, so the feature is now implemented:
Code: Select all
- New: Added "RunOutput" event handler; this can be used to capture the output of programs started using
Run(); note that output will normally not be delivered in real-time because of stdio buffering but
if the external program continually outputs text it will arrive pretty instantly at your "RunOutput"
callback; note that due to OS limitations, this is currently unsupported on AmigaOS 3.x; MorphOS
users require at least MorphOS 3.12
Note that it's not possible to support it on OS 3.x because the queue handler on OS 3.x is pretty much broken. But all the other Amigaoids will work (MorphOS requires 3.12, though).