X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Fasync.c;h=f3d1a5ba13b36354d23bdf309ae28d8c75617bd3;hp=f222e38099fe4d51b28ab0797b9142cacae5f5b4;hb=HEAD;hpb=dc8042b42500f79f613b1197df6cdf739615a89f diff --git a/tools/ccanlint/async.c b/tools/ccanlint/async.c index f222e380..3f88bbcd 100644 --- a/tools/ccanlint/async.c +++ b/tools/ccanlint/async.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -34,7 +35,7 @@ struct command { const void *ctx; }; -static void killme(int sig) +static void killme(int sig UNNEEDED) { kill(-getpid(), SIGKILL); } @@ -68,7 +69,7 @@ static void run_more(void) signal(SIGALRM, killme); itim.it_interval.tv_sec = itim.it_interval.tv_usec = 0; - itim.it_value = timespec_to_timeval(time_from_msec(c->time_ms)); + itim.it_value = timespec_to_timeval(time_from_msec(c->time_ms).ts); setitimer(ITIMER_REAL, &itim, NULL); c->status = system(c->command); @@ -150,11 +151,12 @@ static void reap_output(void) int old_len, len; /* This length includes nul terminator! */ old_len = tal_count(c->output); - tal_resize(&c->output, old_len + 1024); - len = read(c->output_fd, c->output + old_len - 1, 1024); + tal_resize(&c->output, old_len + 65536); + len = read(c->output_fd, c->output + old_len - 1, 65536); if (len < 0) err(1, "Reading from async command"); - tal_resize(&c->output, old_len + len); + if (len != 65536) + tal_resize(&c->output, old_len + len); c->output[old_len + len - 1] = '\0'; if (len == 0) { struct rusage ru;