Skip to content

Commit

Permalink
Merge pull request #32 from dballard/hidewindows
Browse files Browse the repository at this point in the history
Hide the tor dos window on windows
  • Loading branch information
cretz committed Jan 24, 2020
2 parents 1c71414 + 75338db commit f9f678b
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions process/process.go
Expand Up @@ -40,25 +40,26 @@ type Creator interface {
New(ctx context.Context, args ...string) (Process, error)
}

type exeProcessCreator struct {
exePath string
}
type CmdCreatorFunc func(ctx context.Context, args ...string) (*exec.Cmd, error)

// NewCreator creates a Creator for external Tor process execution based on the
// given exe path.
func NewCreator(exePath string) Creator {
return &exeProcessCreator{exePath}
return CmdCreatorFunc(func(ctx context.Context, args ...string) (*exec.Cmd, error) {
cmd := exec.CommandContext(ctx, exePath, args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd, nil
})
}

type exeProcess struct {
*exec.Cmd
}

func (e *exeProcessCreator) New(ctx context.Context, args ...string) (Process, error) {
cmd := exec.CommandContext(ctx, e.exePath, args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return &exeProcess{cmd}, nil
func (c CmdCreatorFunc) New(ctx context.Context, args ...string) (Process, error) {
cmd, err := c(ctx, args...)
return &exeProcess{cmd}, err
}

// ErrControlConnUnsupported is returned by Process.EmbeddedControlConn when
Expand Down

0 comments on commit f9f678b

Please sign in to comment.