Archived
Fine grained locking
This commit is contained in:
1 parent
fff50b5472
commit
4ac204b604
5 files changed
+213
-117
No files matched your search
@@ -341,14 +341,15 @@ func (c *Connection) processRequest(msgID int, req request) {
|
||||
c.Lock()
|
||||
c.mwriter.writeUint32(encodeHeader(header{0, msgID, messageTypeResponse}))
|
||||
c.mwriter.writeResponse(data)
|
||||
err := c.flush()
|
||||
err := c.mwriter.err
|
||||
if err == nil {
|
||||
err = c.flush()
|
||||
}
|
||||
c.Unlock()
|
||||
|
||||
buffers.Put(data)
|
||||
if err != nil {
|
||||
c.close(err)
|
||||
} else if c.mwriter.err != nil {
|
||||
c.close(c.mwriter.err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user