aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils/flags.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r--cmd/utils/flags.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 80f21d50a..ec29598fb 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -385,9 +385,28 @@ func MakeAccountManager(ctx *cli.Context) *accounts.Manager {
return accounts.NewManager(ks)
}
+func IpcSocketPath(ctx *cli.Context) (ipcpath string) {
+ if common.IsWindows() {
+ ipcpath = common.DefaultIpcPath()
+ if ipcpath != ctx.GlobalString(IPCPathFlag.Name) {
+ ipcpath = ctx.GlobalString(IPCPathFlag.Name)
+ }
+ } else {
+ ipcpath = common.DefaultIpcPath()
+ if ctx.GlobalString(IPCPathFlag.Name) != common.DefaultIpcPath() {
+ ipcpath = ctx.GlobalString(IPCPathFlag.Name)
+ } else if ctx.GlobalString(DataDirFlag.Name) != "" &&
+ ctx.GlobalString(DataDirFlag.Name) != common.DefaultDataDir() {
+ ipcpath = filepath.Join(ctx.GlobalString(DataDirFlag.Name), "geth.ipc")
+ }
+ }
+
+ return
+}
+
func StartIPC(eth *eth.Ethereum, ctx *cli.Context) error {
config := comms.IpcConfig{
- Endpoint: filepath.Join(ctx.GlobalString(DataDirFlag.Name), "geth.ipc"),
+ Endpoint: IpcSocketPath(ctx),
}
xeth := xeth.New(eth, nil)