Quote:
Originally Posted by norobro
Sorry, I can't offer any help. There are some very knowledgable Qt folks on the following site, and since you haven't received any help here, I suggest that you post your question there. http://www.qtcentre.org/forums/2-Qt-Programming
I set up a simple Qt program using QProcess, shell scripts similar to what you posted and a couple of zip files containing a few directories each. It works fine calling your first script using QProcess::start("./caller.sh") or QProcess::execute("./caller.sh") but I cannot get it to work at all calling popen() from QProcess. The scripts work from the command line and called from a C program using popen().
Any clue as to why they call popen() rather than just using the QProcess methods?
|
Thanks so much for trying to help. I started this Wed night and then I didn't see it posted. Then I couldn't get in here Thursday at first and still didn't see it when I did. Must have taken a while to post it. Glad I checked again at least to see you reply. I really appreciate you trying to help me!
It has been difficult to debug this as I am not even able to run their code outside of the secure OS they gave me. I can only go to them or ask them questions. Integrating across companies can be tricky.
I did at least find out that they aren't using popen (). That was the new guy misunderstanding how it was set up until he looked into it further and found they use QProcess. Poor guy just took over about 2 months ago from someone who had been working on it 2 years! The previous guy is not available. Left the company. I took over for my co-worker so didn't interact much with that guy. My co-worker is amazing and helpful but this has him stumped too. So we are just trying to see what we can do together to make it work. I am extremely confident my code is working as it should because I tested the heck out of it in a basic RHEL Linux OS (accessible by root) on the same hardware with same viewer application and directory structures. Same rpm installation, everything. So it is either some code of theirs interfering or not playing nice with mine. Oh I think I forgot to say that when they run my script on their OS in SE Linux permissive mode from a gnome terminal it works fine. So it appears that this Kiosk Manager app that wraps my script in a QProcess seems to be creating the issue. I am trying to get them to send me more of that code but no luck so far. But my co-worker set up a basic QProcess to run our app on our host simulation and that worked fine. So what the heck?!
Another idea my co-worker had is that maybe stdout is being rerouted or filling up a buffer somewhere. So he sent ours to a fifo queue just to play around with that and it did hang our application until we did a cat on the fifo. But we couldn't find an issue when launching from QProcess. The guy at other company said they aren't rerouting or anything. It is just so odd.
I will post over in Qt area as well as you suggested.
Thanks again. I will try to post here if I figure it out. Feel free to post if you think of anything.