mirror of
https://github.com/bgp/stayrtr.git
synced 2024-05-06 15:54:54 +00:00
Merge pull request #55 from bgp/fix/revert-defer-in-rtrmon
Revert defer unlock in select/case
This commit is contained in:
@ -382,13 +382,14 @@ func (c *Client) HandlePDU(cs *rtr.ClientSession, pdu rtr.PDU) {
|
|||||||
|
|
||||||
key := fmt.Sprintf("%s-%d-%d", pdu.Prefix.String(), pdu.MaxLen, pdu.ASN)
|
key := fmt.Sprintf("%s-%d-%d", pdu.Prefix.String(), pdu.MaxLen, pdu.ASN)
|
||||||
c.compRtrLock.Lock()
|
c.compRtrLock.Lock()
|
||||||
defer c.compRtrLock.Unlock()
|
|
||||||
|
|
||||||
if pdu.Flags == rtr.FLAG_ADDED {
|
if pdu.Flags == rtr.FLAG_ADDED {
|
||||||
c.vrpsRtr[key] = &vrp
|
c.vrpsRtr[key] = &vrp
|
||||||
} else {
|
} else {
|
||||||
delete(c.vrpsRtr, key)
|
delete(c.vrpsRtr, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c.compRtrLock.Unlock()
|
||||||
case *rtr.PDUIPv6Prefix:
|
case *rtr.PDUIPv6Prefix:
|
||||||
vrp := VRPJsonSimple{
|
vrp := VRPJsonSimple{
|
||||||
Prefix: pdu.Prefix.String(),
|
Prefix: pdu.Prefix.String(),
|
||||||
@ -399,13 +400,14 @@ func (c *Client) HandlePDU(cs *rtr.ClientSession, pdu rtr.PDU) {
|
|||||||
|
|
||||||
key := fmt.Sprintf("%s-%d-%d", pdu.Prefix.String(), pdu.MaxLen, pdu.ASN)
|
key := fmt.Sprintf("%s-%d-%d", pdu.Prefix.String(), pdu.MaxLen, pdu.ASN)
|
||||||
c.compRtrLock.Lock()
|
c.compRtrLock.Lock()
|
||||||
defer c.compRtrLock.Unlock()
|
|
||||||
|
|
||||||
if pdu.Flags == rtr.FLAG_ADDED {
|
if pdu.Flags == rtr.FLAG_ADDED {
|
||||||
c.vrpsRtr[key] = &vrp
|
c.vrpsRtr[key] = &vrp
|
||||||
} else {
|
} else {
|
||||||
delete(c.vrpsRtr, key)
|
delete(c.vrpsRtr, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c.compRtrLock.Unlock()
|
||||||
case *rtr.PDUEndOfData:
|
case *rtr.PDUEndOfData:
|
||||||
log.Infof("%d: Received: %v", c.id, pdu)
|
log.Infof("%d: Received: %v", c.id, pdu)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user