Use copied value of seed node index during thread creation, not
reference.
- fixes segfault
Use boost:🧵:try_join_until() instead of an atomic flag result
variable for each thread.
Add and handle interrupt for thread timeout.
- fixes segfault where a thread exceeds requested timeout and tries to
assign results to a referenced, but now out-of-scope, variable in
the main thread.
1b46226 std::atomic_flag has no copy/move constructor, can't have a vector (Thomas Winget)
df53c0a small typo in previous commit (Thomas Winget)
4a53898 DNS seed timeout and fallback (Thomas Winget)
Also implemented rudimentary IPv6 support, but commented it out because
it's not widely supported by ISPs for now, and thus is not currently
supported by Monero.
On 32-bit MinGW-w64, time_t is int32_t. The existing code was serializing
time_t directly and implicitly assuming that time_t is int64_t. This commit
formalizes that assumption by serializing int64_t directly and casting to
time_t where appropriate.
Thanks go to greatwolf for reporting this issue.
monero-project/bitmonero#88
Per my reading this change makes sense since a subset of the exclusive
peers could be priority peers. Priority peers that are not exclusive
will not get loaded, and priority peers that *are* exclusive will get
special treatment. Prior to this change it looks like priority peers
were silently ignored when exclusive peers were provided.