Am 06.08.2016 um 03:21 schrieb Joseph Van Riper:
On Mon, Jul 18, 2016 at 9:41 AM Klemens Morgenstern < klemens.morgenstern@gmx.net> wrote:
Hi,
boost-process is now in beta, you can check it out here: https://github.com/klemens-morgenstern/boost-process
and read the doc here: http://klemens-morgenstern.github.io/process/
It will probably be in review in the beginning of November, Antony Polukhin will be the review manager. I really hope I'll get some feedback before that, so I can work on the weak points and also get more detailed in the documentation.
I tried at least part of the tutorial on an Ubuntu 16 machine using the git cloned code you have made available as of today, and I have the following observations:
- Your example code suggests you look through a path of some kind for the executable, but while trying the code on my own, it did not seem to do this. I had to use absolute paths to the executable I wanted to run. Which is okay, but it feels like the docs need to manage my expectations a bit better there.
First of all, thank you very much for trying it out. That question is noted for the FAQ. No, it does not look into the path, but the system might do that. If you want to search PATH, you can use boost::process::search_path.
- Your documentation suggests the executable I'd create would terminate when the child it spawned ends. I do not see this... my executable hangs indefinitely. 'while (c.running() && std::getline(is, line)) data.push_back(line);' never ends for me. Is this a bug you are currently working through, or is there something else that the tutorial may have missed?
The exiting child does NOT close the pipe. So I guess you'd be hanging in std::getline(is, line), not in c.running(). If I'm wrong about this one, please tell me. We had this issue now a few times, where people expected the pipe to close. Problem is: that cannot be done for all cases, hence it is not implemented that way.
- Your documentation doesn't tell me much about boost dependencies. I originally tried to work with the boost library one may apt install for Ubuntu 16, but it didn't seem your library was compatible with it (or maybe I erred somehow). I pulled down boost 1.61 and it compiled with that just fine, but I wonder what is the oldest boost library one may use? If there's a limit, it probably ought to be mentioned in the documentation, since many distributions are terrible about keeping up with the most current boost distribution. Actually, that would be the develop-branch of boost, i.e. 1.62. You can currently only use the current version, since I also updated boost.winapi. That wouldn't concern you on ubuntu, but that's the actual dependency.
- Trey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost