Intermittantly (but consistantly), my app will run the wrong process using either TAsyncProcess or RunCommand.
I understand it will be my bug, just looking for a clue :)
The 'Run' function is within a fpc library.
A loop calls the 'Run' function each second to run a system process (eg ls or wmctrl etc) - have tried multiple processes, all do the same.
Symptoms are:
run wmctrl (or other) from the TProcess / RunCommand code the TProcess instance returns the PID for the new process read the relevant file under /proc/PID/status - it will intermittently show the new process is actually a copy of the caller app. (meaning: the orig app is called Test1, I try to run wmctrl, I end up with 2 copies of Test1 running)
I have found through experimenting:
a pause of 100ms after running the process will fix 80% of cases.
for the other failures, I kill the newly created process, and try again (this usually works)
As I said, just looking for ideas (and any such are much appreciated)
i7 8G ram 1T ssd - development only, no heavy background processes
Linux Lubuntu x86 32bit
Lazarus 1.7 r53034:53273M FPC 3.0.0 i386-linux-gtk 2
Thanks - SteveG
