Changeset 199 in code for trunk


Ignore:
Timestamp:
Apr 1, 2020, 10:21:31 AM (5 years ago)
Author:
contact
Message:

Set network.conn in user goroutine

One step closed to removing that lock.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/user.go

    r198 r199  
    7878                }
    7979
    80                 net.lock.Lock()
    81                 net.conn = uc
    82                 net.lock.Unlock()
    83 
    8480                net.user.events <- eventUpstreamConnected{uc}
    8581                if err := uc.readMessages(net.user.events); err != nil {
     
    8884                uc.Close()
    8985                net.user.events <- eventUpstreamDisconnected{uc}
    90 
    91                 net.lock.Lock()
    92                 net.conn = nil
    93                 net.lock.Unlock()
    9486        }
    9587}
     
    177169                case eventUpstreamConnected:
    178170                        uc := e.uc
     171
     172                        uc.network.lock.Lock()
     173                        uc.network.conn = uc
     174                        uc.network.lock.Unlock()
     175
    179176                        uc.updateAway()
    180177                case eventUpstreamDisconnected:
    181178                        uc := e.uc
     179
     180                        uc.network.lock.Lock()
     181                        uc.network.conn = nil
     182                        uc.network.lock.Unlock()
     183
    182184                        for _, log := range uc.logs {
    183185                                log.file.Close()
    184186                        }
     187
    185188                        uc.endPendingLISTs(true)
    186189                case eventUpstreamMessage:
Note: See TracChangeset for help on using the changeset viewer.