Currently OVS_APP_EXIT_AND_WAIT() only waits for the pid file
to be removed. When using gcov (and likely other utilities),
we need to ensure that the application has actually exited.
Also adding AT_CHECK() around the exit request to allow simplification
of tests using open-coded versions of this macro.
Signed-off-by: Lance Richardson <lrichard@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
dnl Ask the daemon named DAEMON to exit, via ovs-appctl, and then waits for it
dnl to exit.
m4_define([OVS_APP_EXIT_AND_WAIT],
- [ovs-appctl -t $1 exit
- OVS_WAIT_WHILE([test -e $1.pid])])
+ [TMPPID=`cat "$OVS_RUNDIR"/$1.pid 2>/dev/null`
+ AT_CHECK([ovs-appctl -t $1 exit])
+ OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])])
dnl on_exit "COMMAND"
dnl