Thx for fixing this~! Acked-by: Alex Wang <al...@nicira.com>
On Mon, Aug 17, 2015 at 3:44 PM, Gurucharan Shetty <shet...@nicira.com> wrote: > A unit test for ovn-northd was hanging because ovn-northd > running on Windows failed to detach. The detach function > for Windows is implemented inside "service_start()". > > Also handle Windows services. > > Reported-by: Alex Wang <al...@nicira.com> > Signed-off-by: Gurucharan Shetty <gshe...@nicira.com> > --- > ovn/controller-vtep/ovn-controller-vtep.c | 5 +++++ > ovn/controller/ovn-controller.c | 5 +++++ > ovn/northd/ovn-northd.c | 5 +++++ > 3 files changed, 15 insertions(+) > > diff --git a/ovn/controller-vtep/ovn-controller-vtep.c > b/ovn/controller-vtep/ovn-controller-vtep.c > index a3b0f96..9a3f03b 100644 > --- a/ovn/controller-vtep/ovn-controller-vtep.c > +++ b/ovn/controller-vtep/ovn-controller-vtep.c > @@ -58,6 +58,7 @@ main(int argc, char *argv[]) > > ovs_cmdl_proctitle_init(argc, argv); > set_program_name(argv[0]); > + service_start(&argc, &argv); > parse_options(argc, argv); > fatal_ignore_sigpipe(); > > @@ -106,6 +107,9 @@ main(int argc, char *argv[]) > ovsdb_idl_loop_commit_and_wait(&vtep_idl_loop); > ovsdb_idl_loop_commit_and_wait(&ovnsb_idl_loop); > poll_block(); > + if (should_service_stop()) { > + exiting = true; > + } > } > > /* It's time to exit. Clean up the databases. */ > @@ -138,6 +142,7 @@ main(int argc, char *argv[]) > > free(ovnsb_remote); > free(vtep_remote); > + service_stop(); > > exit(retval); > } > diff --git a/ovn/controller/ovn-controller.c > b/ovn/controller/ovn-controller.c > index 8e93a0f..34d7660 100644 > --- a/ovn/controller/ovn-controller.c > +++ b/ovn/controller/ovn-controller.c > @@ -124,6 +124,7 @@ main(int argc, char *argv[]) > > ovs_cmdl_proctitle_init(argc, argv); > set_program_name(argv[0]); > + service_start(&argc, &argv); > parse_options(argc, argv); > fatal_ignore_sigpipe(); > > @@ -208,6 +209,9 @@ main(int argc, char *argv[]) > ofctrl_wait(); > } > poll_block(); > + if (should_service_stop()) { > + exiting = true; > + } > } > > /* It's time to exit. Clean up the databases. */ > @@ -246,6 +250,7 @@ main(int argc, char *argv[]) > > free(ovnsb_remote); > free(ovs_remote); > + service_stop(); > > exit(retval); > } > diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c > index d70ba39..554dba3 100644 > --- a/ovn/northd/ovn-northd.c > +++ b/ovn/northd/ovn-northd.c > @@ -1121,6 +1121,7 @@ main(int argc, char *argv[]) > > fatal_ignore_sigpipe(); > set_program_name(argv[0]); > + service_start(&argc, &argv); > vlog_set_levels(NULL, VLF_CONSOLE, VLL_WARN); > vlog_set_levels(&VLM_reconnect, VLF_ANY_DESTINATION, VLL_WARN); > parse_options(argc, argv); > @@ -1311,11 +1312,15 @@ main(int argc, char *argv[]) > } > poll_block(); > } > + if (should_service_stop()) { > + exiting = true; > + } > } > > unixctl_server_destroy(unixctl); > ovsdb_idl_destroy(ovnsb_idl); > ovsdb_idl_destroy(ovnnb_idl); > + service_stop(); > > exit(res); > } > -- > 1.7.9.5 > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev