aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-07-07 16:04:18 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-07-07 16:05:13 +0200
commit322e0f8d26edc121cbeee1b467b0009d75614f99 (patch)
treee2759c8769255851b1f9894b7de2ba964014cbca
parent79fbdfb624c5067159d00c91cd86f96e4ef4338b (diff)
downloadpingu-322e0f8d26edc121cbeee1b467b0009d75614f99.tar.bz2
pingu-322e0f8d26edc121cbeee1b467b0009d75614f99.tar.xz
pingu: use new libev implementation and implent -v option
-rw-r--r--Makefile6
-rw-r--r--pingu.c16
2 files changed, 18 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 25774ba..c042de5 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,11 @@ pingu_OBJS = \
icmp.o \
log.o \
pingu.o \
- xlib.o
+ xlib.o \
+ pingu_burst.o \
+ pingu_iface.o \
+ pingu_ping.o \
+ pingu_host.o
pingu_LIBS = -lev
diff --git a/pingu.c b/pingu.c
index db312aa..adb43e7 100644
--- a/pingu.c
+++ b/pingu.c
@@ -424,8 +424,10 @@ int main(int argc, char *argv[])
int c;
struct list_head hostlist = LIST_INITIALIZER(hostlist);
char *config_file = DEFAULT_CONFIG;
+ int verbose = 0;
+ static struct ev_loop *loop;
- while ((c = getopt(argc, argv, "c:dhp:V")) != -1) {
+ while ((c = getopt(argc, argv, "c:dhp:Vv")) != -1) {
switch (c) {
case 'c':
config_file = optarg;
@@ -441,20 +443,28 @@ int main(int argc, char *argv[])
case 'V':
print_version(basename(argv[0]));
return 0;
+ case 'v':
+ verbose++;
+ break;
}
}
argc -= optind;
argv += optind;
- log_init(0);
+ log_init(verbose);
if (read_config(config_file, &hostlist) == -1)
return 1;
+ loop = ev_default_loop(0);
+ pingu_iface_init(loop, &hostlist);
+ pingu_host_init(loop, &hostlist);
+
if (pingu_daemonize) {
if (daemonize() == -1)
return 1;
}
- return ping_loop(&hostlist);
+ ev_run(loop, 0);
+ return 0;
}