X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Fasync.c;h=680f947c357305aa945d7db765c215323aa47636;hb=453fdc02ce54ff965f9971a3bfd0e1a79b6c98f9;hp=5c2c4da73d31b1929b1dd25fcaa513c1b2337e92;hpb=37965b33eeb202773dc70c4546d0b050b8e717b5;p=ccan diff --git a/tools/ccanlint/async.c b/tools/ccanlint/async.c index 5c2c4da7..680f947c 100644 --- a/tools/ccanlint/async.c +++ b/tools/ccanlint/async.c @@ -47,10 +47,12 @@ static void run_more(void) while (num_running < lbalance_target(lb)) { int p[2]; - c = tlist_top(&pending, struct command, list); + + c = tlist_top(&pending, list); if (!c) break; + fflush(stdout); if (pipe(p) != 0) err(1, "Pipe failed"); c->pid = fork(); @@ -68,7 +70,7 @@ static void run_more(void) signal(SIGALRM, killme); itim.it_interval.tv_sec = itim.it_interval.tv_usec = 0; - itim.it_value = time_from_msec(c->time_ms); + itim.it_value = timespec_to_timeval(time_from_msec(c->time_ms)); setitimer(ITIMER_REAL, &itim, NULL); c->status = system(c->command); @@ -187,7 +189,7 @@ void *collect_command(bool *ok, char **output) struct command *c; const void *ctx; - while ((c = tlist_top(&done, struct command, list)) == NULL) { + while ((c = tlist_top(&done, list)) == NULL) { if (tlist_empty(&pending) && tlist_empty(&running)) return NULL; reap_output();