summaryrefslogtreecommitdiffstats
path: root/qarsh_packet.h
diff options
context:
space:
mode:
authorNathan Straz <nstraz@redhat.com>2008-10-20 08:54:08 -0400
committerNathan Straz <nstraz@redhat.com>2008-10-20 09:05:13 -0400
commit52c5d049e266416094ce735465c01441649fdfcc (patch)
tree04e5656bf1a297a6684c1795f3bc043fda1baddb /qarsh_packet.h
parentaddbac37234057007762f2d60d790d5c68efec18 (diff)
downloadqarsh-52c5d049e266416094ce735465c01441649fdfcc.tar.gz
qarsh-52c5d049e266416094ce735465c01441649fdfcc.tar.xz
qarsh-52c5d049e266416094ce735465c01441649fdfcc.zip
[qarsh] Fix double-free and command hang
We need to test all exit conditions at once so we fall back into the hbeat code. I was falling into a case when running "reboot -fin &" where the command would exit, but the sockets would not close and we weren't getting to hbeat() to detect the reboot. In another case which I can't completely explain, we were getting a double-free error from glibc in the qpfree() at the end of run_remote_cmd(). Instead of waiting until the very end to read the exit status, save it off as soon as we get the packet and use cmd_exitted to determine if we have an exit code or if something went horribly wrong.
Diffstat (limited to 'qarsh_packet.h')
0 files changed, 0 insertions, 0 deletions