monero/src
moneromooo-monero 0fd6ccef21
blockchain: fix timestamp/difficulty cache getting out of sync
The cache is discarded when a block is popped, but then gets
rebuilt when the difficulty for next block is requested.
While this is all properly locked, it does not take into account
the delay caused by a database transaction being only committed
(and thus its effects made visible to other threads) later on,
which means another thread could request difficulty between
the pop and the commit, which would end up using stale database
view to build the cache, but that cache would not be invalidated
again when the transaction gets committed, which would cause the
cache to not match the new database data.

To fix this, we now keep track of when the cache is invalidated
so we can invalidate it again upon database transaction commit
to ensure it gets calculated again with fresh data next time it
is nedeed.
2020-07-08 22:31:51 +00:00
..
blockchain_db Merge pull request #6358 2020-04-10 16:01:37 -05:00
blockchain_utilities Fix boost <1.60 compilation and fix boost 1.73+ warnings 2020-05-31 21:18:11 -04:00
blocks build: prepare v0.16.0.0 release 2020-05-13 16:15:03 +02:00
checkpoints Merge pull request #6514 2020-06-08 14:02:00 -05:00
common easylogging++: sanitize log payload 2020-05-24 08:38:59 +02:00
crypto Merge pull request #6441 2020-05-05 23:39:32 -05:00
cryptonote_basic Merge pull request #6472 2020-05-06 00:25:18 -05:00
cryptonote_core blockchain: fix timestamp/difficulty cache getting out of sync 2020-07-08 22:31:51 +00:00
cryptonote_protocol Merge pull request #6566 2020-07-08 17:08:58 -05:00
daemon daemon: remove time based "update needed" status string 2020-05-24 21:44:03 +00:00
daemonizer Fix #6147 DB corruption from child process overwrite 2019-11-17 14:04:22 +00:00
debug_utilities dns_checks: new helper program to check on DNSSEC lookups 2019-04-23 15:20:45 +00:00
device Fix incorrect lenght of command INS_PREFIX_HASH 2020-05-27 18:06:19 +02:00
device_trezor Merge pull request #6519 2020-06-08 14:03:57 -05:00
gen_multisig Update 2019 copyright 2019-03-05 22:05:34 +01:00
gen_ssl_cert gen_ssl_cert: new tool to generate SSL certs for Monero 2019-10-24 17:47:52 +00:00
hardforks v12 fork heights 2019-10-18 20:32:25 +02:00
lmdb lmdb: Remove meaningless const qualifier on function type 2019-11-04 02:28:45 -07:00
mnemonics easylogging++: sanitize log payload 2020-05-24 08:38:59 +02:00
multisig use memwipe on secret k/alpha values 2020-04-15 01:16:31 +00:00
net Use byte_slice for sending zmq messages - removes data copy within zmq 2020-04-03 01:56:17 +00:00
p2p Fix boost <1.60 compilation and fix boost 1.73+ warnings 2020-05-31 21:18:11 -04:00
platform Update 2019 copyright 2019-03-05 22:05:34 +01:00
ringct Merge pull request #6441 2020-05-05 23:39:32 -05:00
rpc Merge pull request #6627 2020-07-08 17:22:33 -05:00
serialization serialization: fix bad rapidjson api usage 2020-05-18 14:17:23 +00:00
simplewallet repo: update donation fund address 2020-06-09 12:19:39 +02:00
wallet Merge pull request #6587 2020-07-08 17:14:09 -05:00
CMakeLists.txt build: fix IOS, build blockchain_db and rpc, skip wallet_rpc_server 2019-11-09 14:21:22 +00:00
cryptonote_config.h Hash domain separation 2020-04-01 08:31:00 -04:00
version.cpp.in build: prepare v0.16.0.0 release 2020-05-13 16:15:03 +02:00
version.h wallet, rpc: add a release field to get_version 2019-08-26 19:28:25 +00:00