Hi Dave,
2015-02-25 17:05 GMT+01:00 David T. Lewis <le...@mail.msen.com>: > Hi Jannik, > > One other thing I just thought of: Check and see if your rostopic program > is actually writing to standard output, as opposed to writing directly to > /dev/tty. From a terminal window, I think you could do this: > > $ rostopic > out.txt > Yes, it writes on the file after a ctrl-c. > > If you run this get output written to the out.txt file, that is good. If > you run it and see output to your terminal window, it would mean that the > rostopic program was writing directly to /dev/tty (so there would never be > any output to read with a PipeableOSProcess). > > I would not worry about the missing AioPlugin. Your code should still work > without the plugin. > Ok, thank you. Jannik > > Dave > > > > Hi Dave, > > > > 2015-02-25 1:13 GMT+01:00 David T. Lewis <le...@mail.msen.com>: > > > >> On Tue, Feb 24, 2015 at 08:33:41PM +0100, jannik laval wrote: > >> > Hi pharoers, > >> > > >> > I am playing with OSProcess. > >> > I am using an example, and I am annoyed with a strange bug: > >> > > >> > Here is the code I want to execute, and does not work: > >> > ==== > >> > |thread process output| > >> > myCmd := 'rostopic bw /turtle1/pose'. > >> > thread := [process := (PipeableOSProcess command: myCmd) ] fork. > >> > 3 second wait. > >> > output := process upToEnd. > >> > output inspect. > >> > thread terminate. > >> > === > >> > >> Hi Jannik, > >> > >> I am not familiar with the rostopic command, but it is common for some > >> Unix programs to flush their output when the stdout is connected to > >> /dev/tty (a terminal), but not necessarily if connected to a pipe or > >> to a file. So it may be that the running rostopic program is producing > >> output, but that the output has not yet been flushed to the pipe > >> connected > >> to your PipeableOSProcess. > >> > > > > Thank you for your explanation. > > So, what I can do is to send a sigint to terminate the process and > receive > > the info. > > But sending "process processProxy sigint." does nothing. > > > > By the way I have a warning on the AIOPlugin... Probably I should > > reinstall > > my VM. > > > > I also try "process flush", but it does not do anything. > > > > > > > >> > >> Your #upToEnd call will read the available data from the OS pipe, but it > >> will not read data that was "written" by the rotopic program, but not > >> yet flushed out to the OSPipe. So I am guessing that this may be why the > >> data seems to be missing. > >> > >> I notice also that you are putting your PipeableOSProcess into a > >> separate > >> Smalltalk process using #fork. This is probably not necessary, so try > >> getting rid of the #fork and the later thread terminate. It will not fix > >> the problem for you, but it will simplify the code. > >> > > > > > > Ok, it is simpler like that. You are right, it does not help :) > > > > Thank you for your help. > > > > > >> > >> Dave > >> > >> > >> > > >> > 'rostopic bw /turtle1/pose' is a command that is a loop displaying the > >> > current bandwidth of a ROS process. In a terminal, it works fine. With > >> > OSProcess the output value is empty. > >> > > >> > My source code is correct: if I replace myCmd by : > >> > myCmd := 'ping localhost'. > >> > > >> > It is a loop too, and it returns a correct string. > >> > > >> > I have clearly no idea of where I have to search... Any help or > >> discussion > >> > about that would be great :) > >> > > >> > Thank you, > >> > > >> > Oups, some infos: > >> > I am using Ubuntu 14.04 > >> > Pharo3.0 with Moose 5.0, latest update: #30863 > >> > The script I use (rostopic) is a python script (does it impact ?) > >> > > >> > > >> > -- > >> > > >> > ~~Jannik Laval~~ > >> > ??cole des Mines de Douai > >> > Enseignant-chercheur > >> > http://www.jannik-laval.eu > >> > http://www.phratch.com > >> > http://www.approchealpes.info > >> > http://car.mines-douai.fr/ > >> > >> > > > > > > -- > > > > ~~Jannik Laval~~ > > École des Mines de Douai > > Enseignant-chercheur > > http://www.jannik-laval.eu > > http://www.phratch.com > > http://www.approchealpes.info > > http://car.mines-douai.fr/ > > > > > > -- ~~Jannik Laval~~ École des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu http://www.phratch.com http://www.approchealpes.info http://car.mines-douai.fr/