int p[2];
char *ret;
int status, ms;
- struct timeval start;
+ struct timespec start;
*ok = false;
if (pipe(p) != 0)
close_noerr(p[1]);
return talloc_asprintf(ctx, "Failed to fork: %s",
strerror(errno));
- return NULL;
}
if (pid == 0) {
signal(SIGALRM, killme);
itim.it_interval.tv_sec = itim.it_interval.tv_usec = 0;
- itim.it_value = time_from_msec(*timeout_ms);
+ itim.it_value = timespec_to_timeval(time_from_msec(*timeout_ms));
setitimer(ITIMER_REAL, &itim, NULL);
status = system(cmd);
return 0;
}
-char *maybe_temp_file(const void *ctx, const char *extension, bool keep,
- const char *srcname)
+char *temp_file(const void *ctx, const char *extension, const char *srcname)
{
unsigned baselen;
char *f, *suffix = talloc_strdup(ctx, "");
} while (lstat(f, &st) == 0);
if (tools_verbose)
- printf("Creating %sfile %s\n", keep ? "" : "temporary ", f);
-
- if (!keep)
- talloc_set_destructor(f, unlink_file_destructor);
+ printf("Creating file %s\n", f);
talloc_free(suffix);
return f;