diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-08-23 18:28:40 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-08-23 18:28:40 -0700 |
| commit | dd8b03a5c55baf7349ce075c8f4cad1d59cbe988 (patch) | |
| tree | 6af6ce82cb6ba01a14bdfe9fb45df6d6d2be08f7 /node/Peer.cpp | |
| parent | 4d5983114ca28cdad919e2cd7e6e1b5453c3b18c (diff) | |
| download | infinitytier-dd8b03a5c55baf7349ce075c8f4cad1d59cbe988.tar.gz infinitytier-dd8b03a5c55baf7349ce075c8f4cad1d59cbe988.zip | |
Threading issue fix?
Diffstat (limited to 'node/Peer.cpp')
| -rw-r--r-- | node/Peer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/node/Peer.cpp b/node/Peer.cpp index 127f222c..b3020854 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -424,18 +424,21 @@ void Peer::redirect(void *tPtr,const int64_t localSocket,const InetAddress &remo SharedPtr<Path> op; SharedPtr<Path> np(RR->topology->getPath(localSocket,remoteAddress)); + np->received(now); attemptToContactAt(tPtr,localSocket,remoteAddress,now,true,np->nextOutgoingCounter()); { Mutex::Lock _l(_paths_m); if (remoteAddress.ss_family == AF_INET) { op = _v4Path.p; - _v4Path.p = np; + _v4Path.lr = now; _v4Path.sticky = now; + _v4Path.p = np; } else if (remoteAddress.ss_family == AF_INET6) { op = _v6Path.p; - _v6Path.p = np; + _v6Path.lr = now; _v6Path.sticky = now; + _v6Path.p = np; } } |
