diff --git a/ponymap.c b/ponymap.c index d0b71ee..e4c8a98 100644 --- a/ponymap.c +++ b/ponymap.c @@ -315,8 +315,8 @@ static bool generator_step (struct app_context *ctx); struct app_context { struct str_map config; ///< User configuration - unsigned connect_timeout; ///< Hard timeout for connect() - unsigned scan_timeout; ///< Hard timeout for service scans + unsigned connect_timeout; ///< Timeout for connect() in sec. + unsigned scan_timeout; ///< Timeout for service scans in sec. json_t *json_results; ///< The results as a JSON value const char *json_filename; ///< The filename to write JSON to @@ -604,7 +604,7 @@ end: static void unit_start_scan (struct unit *u) { - poller_timer_set (&u->timeout_event, u->target->ctx->scan_timeout); + poller_timer_set (&u->timeout_event, u->target->ctx->scan_timeout * 1000); u->fd_event.dispatcher = (poller_fd_fn) on_unit_ready; unit_update_poller (u, NULL); } @@ -717,7 +717,7 @@ unit_make (struct target *target, uint32_t ip, uint16_t port, unit_start_scan (u); else { - poller_timer_set (&u->timeout_event, ctx->connect_timeout); + poller_timer_set (&u->timeout_event, ctx->connect_timeout * 1000); poller_fd_set (&u->fd_event, POLLOUT); } diff --git a/utils.c b/utils.c index a36533a..1555715 100644 --- a/utils.c +++ b/utils.c @@ -926,21 +926,21 @@ poller_timers_heapify_down (struct poller_timers *self, size_t index) timer_t *left = self->heap + 2 * index + 1; timer_t *right = self->heap + 2 * index + 2; - timer_t *largest = parent; - if (left < end && (*left) ->when > (*largest)->when) - largest = left; - if (right < end && (*right)->when > (*largest)->when) - largest = right; - if (parent == largest) + timer_t *lowest = parent; + if (left < end && (*left) ->when < (*lowest)->when) + lowest = left; + if (right < end && (*right)->when < (*lowest)->when) + lowest = right; + if (parent == lowest) break; timer_t tmp = *parent; - *parent = *largest; - *largest = tmp; + *parent = *lowest; + *lowest = tmp; - (*parent) ->index = parent - self->heap; - (*largest)->index = largest - self->heap; - index = largest - self->heap; + (*parent)->index = parent - self->heap; + (*lowest)->index = lowest - self->heap; + index = lowest - self->heap; } }