git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cfm: Notify connectivity_seq on remote maintenance points change.
[sliver-openvswitch.git]
/
vswitchd
/
ovs-vswitchd.c
diff --git
a/vswitchd/ovs-vswitchd.c
b/vswitchd/ovs-vswitchd.c
index
bb087bd
..
ca76aef
100644
(file)
--- a/
vswitchd/ovs-vswitchd.c
+++ b/
vswitchd/ovs-vswitchd.c
@@
-32,17
+32,15
@@
#include "dirs.h"
#include "dpif.h"
#include "dummy.h"
#include "dirs.h"
#include "dpif.h"
#include "dummy.h"
+#include "fatal-signal.h"
#include "memory.h"
#include "netdev.h"
#include "openflow/openflow.h"
#include "ovsdb-idl.h"
#include "poll-loop.h"
#include "memory.h"
#include "netdev.h"
#include "openflow/openflow.h"
#include "ovsdb-idl.h"
#include "poll-loop.h"
-#include "process.h"
-#include "signals.h"
#include "simap.h"
#include "stream-ssl.h"
#include "stream.h"
#include "simap.h"
#include "stream-ssl.h"
#include "stream.h"
-#include "stress.h"
#include "svec.h"
#include "timeval.h"
#include "unixctl.h"
#include "svec.h"
#include "timeval.h"
#include "unixctl.h"
@@
-50,7
+48,6
@@
#include "vconn.h"
#include "vlog.h"
#include "lib/vswitch-idl.h"
#include "vconn.h"
#include "vlog.h"
#include "lib/vswitch-idl.h"
-#include "worker.h"
VLOG_DEFINE_THIS_MODULE(vswitchd);
VLOG_DEFINE_THIS_MODULE(vswitchd);
@@
-68,18
+65,15
@@
main(int argc, char *argv[])
{
char *unixctl_path = NULL;
struct unixctl_server *unixctl;
{
char *unixctl_path = NULL;
struct unixctl_server *unixctl;
- struct signal *sighup;
char *remote;
bool exiting;
int retval;
proctitle_init(argc, argv);
set_program_name(argv[0]);
char *remote;
bool exiting;
int retval;
proctitle_init(argc, argv);
set_program_name(argv[0]);
- s
tress_init_command(
);
+ s
ervice_start(&argc, &argv
);
remote = parse_options(argc, argv, &unixctl_path);
remote = parse_options(argc, argv, &unixctl_path);
- signal(SIGPIPE, SIG_IGN);
- sighup = signal_register(SIGHUP);
- process_init();
+ fatal_ignore_sigpipe();
ovsrec_init();
daemonize_start();
ovsrec_init();
daemonize_start();
@@
-94,8
+88,6
@@
main(int argc, char *argv[])
#endif
}
#endif
}
- worker_start();
-
retval = unixctl_server_create(unixctl_path, &unixctl);
if (retval) {
exit(EXIT_FAILURE);
retval = unixctl_server_create(unixctl_path, &unixctl);
if (retval) {
exit(EXIT_FAILURE);
@@
-107,10
+99,6
@@
main(int argc, char *argv[])
exiting = false;
while (!exiting) {
exiting = false;
while (!exiting) {
- worker_run();
- if (signal_poll(sighup)) {
- vlog_reopen_log_file();
- }
memory_run();
if (memory_should_report()) {
struct simap usage;
memory_run();
if (memory_should_report()) {
struct simap usage;
@@
-120,14
+108,10
@@
main(int argc, char *argv[])
memory_report(&usage);
simap_destroy(&usage);
}
memory_report(&usage);
simap_destroy(&usage);
}
- bridge_run_fast();
bridge_run();
bridge_run();
- bridge_run_fast();
unixctl_server_run(unixctl);
netdev_run();
unixctl_server_run(unixctl);
netdev_run();
- worker_wait();
- signal_wait(sighup);
memory_wait();
bridge_wait();
unixctl_server_wait(unixctl);
memory_wait();
bridge_wait();
unixctl_server_wait(unixctl);
@@
-136,9
+120,13
@@
main(int argc, char *argv[])
poll_immediate_wake();
}
poll_block();
poll_immediate_wake();
}
poll_block();
+ if (should_service_stop()) {
+ exiting = true;
+ }
}
bridge_exit();
unixctl_server_destroy(unixctl);
}
bridge_exit();
unixctl_server_destroy(unixctl);
+ service_stop();
return 0;
}
return 0;
}