diff options
Diffstat (limited to 'tools/perf/util/run-command.c')
| -rw-r--r-- | tools/perf/util/run-command.c | 90 | 
1 files changed, 0 insertions, 90 deletions
diff --git a/tools/perf/util/run-command.c b/tools/perf/util/run-command.c index 2b615acf94d..da8e9b285f5 100644 --- a/tools/perf/util/run-command.c +++ b/tools/perf/util/run-command.c @@ -212,93 +212,3 @@ int run_command_v_opt(const char **argv, int opt)  	prepare_run_command_v_opt(&cmd, argv, opt);  	return run_command(&cmd);  } - -int run_command_v_opt_cd_env(const char **argv, int opt, const char *dir, const char *const *env) -{ -	struct child_process cmd; -	prepare_run_command_v_opt(&cmd, argv, opt); -	cmd.dir = dir; -	cmd.env = env; -	return run_command(&cmd); -} - -int start_async(struct async *async) -{ -	int pipe_out[2]; - -	if (pipe(pipe_out) < 0) -		return error("cannot create pipe: %s", strerror(errno)); -	async->out = pipe_out[0]; - -	/* Flush stdio before fork() to avoid cloning buffers */ -	fflush(NULL); - -	async->pid = fork(); -	if (async->pid < 0) { -		error("fork (async) failed: %s", strerror(errno)); -		close_pair(pipe_out); -		return -1; -	} -	if (!async->pid) { -		close(pipe_out[0]); -		exit(!!async->proc(pipe_out[1], async->data)); -	} -	close(pipe_out[1]); - -	return 0; -} - -int finish_async(struct async *async) -{ -	int ret = 0; - -	if (wait_or_whine(async->pid)) -		ret = error("waitpid (async) failed"); - -	return ret; -} - -int run_hook(const char *index_file, const char *name, ...) -{ -	struct child_process hook; -	const char **argv = NULL, *env[2]; -	char idx[PATH_MAX]; -	va_list args; -	int ret; -	size_t i = 0, alloc = 0; - -	if (access(perf_path("hooks/%s", name), X_OK) < 0) -		return 0; - -	va_start(args, name); -	ALLOC_GROW(argv, i + 1, alloc); -	argv[i++] = perf_path("hooks/%s", name); -	while (argv[i-1]) { -		ALLOC_GROW(argv, i + 1, alloc); -		argv[i++] = va_arg(args, const char *); -	} -	va_end(args); - -	memset(&hook, 0, sizeof(hook)); -	hook.argv = argv; -	hook.no_stdin = 1; -	hook.stdout_to_stderr = 1; -	if (index_file) { -		snprintf(idx, sizeof(idx), "PERF_INDEX_FILE=%s", index_file); -		env[0] = idx; -		env[1] = NULL; -		hook.env = env; -	} - -	ret = start_command(&hook); -	free(argv); -	if (ret) { -		warning("Could not spawn %s", argv[0]); -		return ret; -	} -	ret = finish_command(&hook); -	if (ret == -ERR_RUN_COMMAND_WAITPID_SIGNAL) -		warning("%s exited due to uncaught signal", argv[0]); - -	return ret; -}  |