@@ -640,7 +640,7 @@ func newIpcClient(cfg IpcConfig, codec codec.Codec) (*ipcClient, error) {
640
640
return nil , err
641
641
}
642
642
643
- return & ipcClient {cfg .Endpoint , codec , codec .New (c )}, nil
643
+ return & ipcClient {cfg .Endpoint , c , codec , codec .New (c )}, nil
644
644
}
645
645
646
646
func (self * ipcClient ) reconnect () error {
@@ -667,36 +667,13 @@ func startIpc(cfg IpcConfig, codec codec.Codec, api shared.EthereumApi) error {
667
667
glog .V (logger .Error ).Infof ("Error accepting ipc connection - %v\n " , err )
668
668
continue
669
669
}
670
-
671
- go func (conn net.Conn ) {
672
- codec := codec .New (conn )
673
-
674
- for {
675
- req , err := codec .ReadRequest ()
676
- if err == io .EOF {
677
- codec .Close ()
678
- return
679
- } else if err != nil {
680
- glog .V (logger .Error ).Infof ("IPC recv err - %v\n " , err )
681
- codec .Close ()
682
- return
683
- }
684
-
685
- var rpcResponse interface {}
686
- res , err := api .Execute (req )
687
-
688
- rpcResponse = shared .NewRpcResponse (req .Id , req .Jsonrpc , res , err )
689
- err = codec .WriteResponse (rpcResponse )
690
- if err != nil {
691
- glog .V (logger .Error ).Infof ("IPC send err - %v\n " , err )
692
- codec .Close ()
693
- return
694
- }
695
- }
696
- }(conn )
697
- }
698
- }()
699
-
670
+
671
+ go handle (conn , api , codec )
672
+ }
673
+
674
+ os .Remove (cfg .Endpoint )
675
+ }()
676
+
700
677
glog .V (logger .Info ).Infof ("IPC service started (%s)\n " , cfg .Endpoint )
701
678
702
679
return nil
0 commit comments