aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_ping.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-07-07 16:32:53 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-07-07 16:32:53 +0200
commit6d87138ea7513761ae864e65dbf03d7f614aeb5d (patch)
tree31c9d29418c2114fc278cbaf3f0d7a44efc7065e /pingu_ping.c
parent322e0f8d26edc121cbeee1b467b0009d75614f99 (diff)
downloadpingu-6d87138ea7513761ae864e65dbf03d7f614aeb5d.tar.bz2
pingu-6d87138ea7513761ae864e65dbf03d7f614aeb5d.tar.xz
pingu: fix misc bugs
fix some segfaults and some logic bugs
Diffstat (limited to 'pingu_ping.c')
-rw-r--r--pingu_ping.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pingu_ping.c b/pingu_ping.c
index c6ac66d..c24a733 100644
--- a/pingu_ping.c
+++ b/pingu_ping.c
@@ -35,7 +35,8 @@ static void pingu_ping_timeout_cb(struct ev_loop *loop, ev_timer *w,
int revents)
{
struct pingu_ping *ping = container_of(w, struct pingu_ping, timeout_watcher);
- log_debug("%s: seq %i timed out", ping->host->host, ping->seq);
+ log_debug("%s: seq %i (%i/%i) timed out", ping->host->host, ping->seq,
+ ping->host->burst.pings_sent, ping->host->max_retries);
list_del(&ping->ping_list_entry);
pingu_host_verify_status(loop, ping->host);
free(ping);
@@ -49,6 +50,7 @@ static struct pingu_ping *pingu_ping_add(struct ev_loop *loop,
return NULL;
ping->seq = seq;
ping->host = host;
+ ping->host->burst.pings_sent++;
ev_timer_init(&ping->timeout_watcher, pingu_ping_timeout_cb,
host->timeout, 0);
ev_timer_start(loop, &ping->timeout_watcher);
@@ -90,7 +92,7 @@ static void pingu_ping_handle_reply(struct ev_loop *loop,
log_debug("%s: got seq %i", ping->host->host, ping->seq);
ping->host->burst.pings_replied++;
list_del(&ping->ping_list_entry);
- ev_timer_stop(&ping->timeout_watcher, loop);
+ ev_timer_stop(loop, &ping->timeout_watcher);
pingu_host_verify_status(loop, ping->host);
free(ping);
}