spawn pager via run_command interface
[gitweb.git] / run-command.c
index 63238e412a401359d17fabaa2711e3750adca86c..73d0c312767191a2150b5223806c1733533bc5c2 100644 (file)
@@ -65,6 +65,8 @@ int start_command(struct child_process *cmd)
                cmd->err = fderr[0];
        }
 
+       trace_argv_printf(cmd->argv, "trace: run_command:");
+
 #ifndef __MINGW32__
        cmd->pid = fork();
        if (!cmd->pid) {
@@ -108,6 +110,8 @@ int start_command(struct child_process *cmd)
                                        unsetenv(*cmd->env);
                        }
                }
+               if (cmd->preexec_cb)
+                       cmd->preexec_cb();
                if (cmd->git_cmd) {
                        execv_git_cmd(cmd->argv);
                } else {
@@ -168,7 +172,7 @@ int start_command(struct child_process *cmd)
                cmd->argv[0] = git_cmd.buf;
        }
 
-       cmd->pid = spawnvpe(_P_NOWAIT, cmd->argv[0], cmd->argv, (const char **)env);
+       cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env);
 
        if (cmd->env)
                free_environ(env);