Also I found: when I use `socat` to take a qga socket, then I use `socat` to communicate it will got error. But also SOMETIMES, I will not got error and will communicate OK.
If one user take qga socket, another user should got error, is it? But why sometimes, the communicate is OK? 2017-08-25 10:11 GMT+08:00 Sam <batmanu...@gmail.com>: > Hi all, > > I'm using qga to send `route -n` and `ping` command to guest. But I found > SOMETIMES, the second `ping` command's result is the same as `route -n` > command. > > So I guess is there some cache mechanism of qga command result? So when I > send the second command, and receive from qga socket, I receive the result > of first command. > > Or is this bug happened because of I use async mechanism of python code to > operate qga socket? > > This is the python code I use to operate on this qga socket: > > try: >> sock=socket(AF_UNIX, SOCK_STREAM) >> sock.settimeout(20) >> sock.connect(vm_qga_sockpath) >> sock.send(cmd) >> while True: >> res = sock.recv(1024) >> if len(res): >> break >> except Exception as e: >> res = -1 >> finally: >> sock.settimeout(None) >> sock.close() > >