On Wed, Apr 22, 2015 at 11:53:18AM -0700, Gurucharan Shetty wrote: > It has been observed that sometimes Windows unit tests hang. > This happens when a daemon is started but does not get terminated > when the test ends. > > In one particular case, OVS_VSWITCHD_STOP is called which inturn > calls 'ovs-appctl exit'. This causes ovs-vswitchd's atexit handler > to cleanup the pidfiles. After this, the pthread destructurs get > called and a deadlock happens in there. This results in the > daemons not getting force killed resulting in the tests hanging > because the cleanup file tries to run the command > "kill `cat ovs-vswitchd.pid`" and ovs-vswitchd.pid no longer exists. > > With this commit, we write the pid value of the daemons in the > cleanup file (instead of asking it to 'cat' the value later from > the pidfile). This way, even if the pidfiles get deleted, we can > still kill the daemons. > > This commit also changes the way daemons are force killed in > Windows. It was observed that 'taskkill //F ' failed to kill > a deadlocked daemon running its pthread destructor. But > tskill succeeds. > > Signed-off-by: Gurucharan Shetty <gshe...@nicira.com> > (ON_EXIT_UNQUOTED macro provided by Ben.) > Co-authored-by: Ben Pfaff <b...@nicira.com>
Thanks! I guess you need my sign-off in this case since I'm a coauthor: Signed-off-by: Ben Pfaff <b...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev