Commit 9bf17eb0 authored by Bas van Kervel's avatar Bas van Kervel

rpc/comms reconnect ipc client after write error

parent 382d35bf
...@@ -44,12 +44,14 @@ func (self *ipcClient) Close() { ...@@ -44,12 +44,14 @@ func (self *ipcClient) Close() {
func (self *ipcClient) Send(req interface{}) error { func (self *ipcClient) Send(req interface{}) error {
var err error var err error
if err = self.coder.WriteResponse(req); err != nil { if r, ok := req.(*shared.Request); ok {
if _, ok := err.(*net.OpError); ok { // connection lost, retry once if err = self.coder.WriteResponse(r); err != nil {
if err = self.reconnect(); err == nil { if err = self.reconnect(); err == nil {
err = self.coder.WriteResponse(req) err = self.coder.WriteResponse(r)
} }
} }
return err
} }
return err return err
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment