diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-08-14 07:25:33 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-08-14 07:25:33 +0800 |
commit | 28b14d3e6d43cb27019e21d0a93a80e7bee1de8c (patch) | |
tree | 9995026e87221a80cb5171364ffa734459c16b16 /rpc/comms/ipc_unix.go | |
parent | 73c4e6005c3e47342a4631955ca6fd2782925886 (diff) | |
parent | f9cbd16f27e393d4937354ee31435e0a2f689484 (diff) | |
download | dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar.gz dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar.bz2 dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar.lz dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar.xz dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.tar.zst dexon-28b14d3e6d43cb27019e21d0a93a80e7bee1de8c.zip |
Merge pull request #1635 from bas-vk/useragent
support for user agents
Diffstat (limited to 'rpc/comms/ipc_unix.go')
-rw-r--r-- | rpc/comms/ipc_unix.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rpc/comms/ipc_unix.go b/rpc/comms/ipc_unix.go index 432bf93b5..6968fa844 100644 --- a/rpc/comms/ipc_unix.go +++ b/rpc/comms/ipc_unix.go @@ -48,7 +48,7 @@ func (self *ipcClient) reconnect() error { return err } -func startIpc(cfg IpcConfig, codec codec.Codec, api shared.EthereumApi) error { +func startIpc(cfg IpcConfig, codec codec.Codec, initializer func(conn net.Conn) (shared.EthereumApi, error)) error { os.Remove(cfg.Endpoint) // in case it still exists from a previous run l, err := net.Listen("unix", cfg.Endpoint) @@ -69,6 +69,13 @@ func startIpc(cfg IpcConfig, codec codec.Codec, api shared.EthereumApi) error { id := newIpcConnId() glog.V(logger.Debug).Infof("New IPC connection with id %06d started\n", id) + api, err := initializer(conn) + if err != nil { + glog.V(logger.Error).Infof("Unable to initialize IPC connection - %v\n", err) + conn.Close() + continue + } + go handle(id, conn, api, codec) } |