elements/src
Cory Fields c5a8b1b946 net: rework the way that the messagehandler sleeps
In order to sleep accurately, the message handler needs to know if _any_ node
has more processing that it should do before the entire thread sleeps.

Rather than returning a value that represents whether ProcessMessages
encountered a message that should trigger a disconnnect, interpret the return
value as whether or not that node has more work to do.

Also, use a global fProcessWake value that can be set by other threads,
which takes precedence (for one cycle) over the messagehandler's decision.

Note that the previous behavior was to only process one message per loop
(except in the case of a bad checksum or invalid header). That was changed in
PR #3180.

The only change here in that regard is that the current node now falls to the
back of the processing queue for the bad checksum/invalid header cases.
2017-01-12 23:05:24 -05:00
..
bench Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
compat Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
config
consensus Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
crypto Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
leveldb Merge in LevelDB 1.19 changes 2016-12-01 16:14:45 -08:00
obj
obj-test
policy Merge #9288: Fix a bug if the min fee is 0 for FeeFilterRounder 2017-01-04 12:33:56 +01:00
primitives Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
qt Merge #9450: Increment MIT licence copyright header year on files modified in 2016 2017-01-04 12:09:05 +01:00
rpc Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
script Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
secp256k1 Update libsecp256k1 to master 2016-12-12 11:08:47 -08:00
support Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
test Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
univalue Merge commit '2ca7faab42' into HEAD 2016-09-30 19:58:11 +02:00
wallet Merge #9396: Updated listsinceblock rpc documentation 2017-01-04 12:47:56 +01:00
zmq Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
.clang-format
addrdb.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
addrman.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
addrman.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
amount.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
amount.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
arith_uint256.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
arith_uint256.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
base58.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
base58.h add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
bitcoind-res.rc
bitcoind.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
blockencodings.cpp Make FillBlock consume txn_available to avoid shared_ptr copies 2016-12-21 18:18:28 -08:00
blockencodings.h Make FillBlock consume txn_available to avoid shared_ptr copies 2016-12-21 18:18:28 -08:00
bloom.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
bloom.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chain.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chainparams.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chainparams.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h
checkpoints.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
checkpoints.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
checkqueue.h
clientversion.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
coins.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
compat.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
compressor.cpp
compressor.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_io.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_read.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_write.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
cuckoocache.h Add CuckooCache implementation and replace the sigcache map_type with it 2016-12-14 16:02:05 -05:00
dbwrapper.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
dbwrapper.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
hash.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
hash.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
httprpc.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
httprpc.h
httpserver.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
httpserver.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
indirectmap.h prepend license statement to indirectmap 2016-07-27 16:27:07 -07:00
init.cpp Merge #9401: Make rpcauth help message clearer, add example in example .conf 2017-01-04 13:00:12 +01:00
init.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
key.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
key.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
keystore.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
keystore.h
limitedmap.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
Makefile.am net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
Makefile.bench.include bench: Add support for measuring CPU cycles 2016-11-22 12:20:57 +01:00
Makefile.leveldb.include Merge #8826: Do not include env_win.cc on non-Windows systems 2016-09-29 17:27:28 +02:00
Makefile.qt.include Merge #8996: Network activity toggle 2016-11-11 11:16:40 +01:00
Makefile.qttest.include Uses built-in byte swap if available (Apple) and if bswap_XX is undefined. 2016-12-17 12:27:00 +09:00
Makefile.test.include test: Include tx data in EXTRA_DIST 2016-12-27 19:16:17 +01:00
memusage.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
merkleblock.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
miner.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
miner.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
net.cpp net: rework the way that the messagehandler sleeps 2017-01-12 23:05:24 -05:00
net.h net: rework the way that the messagehandler sleeps 2017-01-12 23:05:24 -05:00
net_processing.cpp net: rework the way that the messagehandler sleeps 2017-01-12 23:05:24 -05:00
net_processing.h net: rework the way that the messagehandler sleeps 2017-01-12 23:05:24 -05:00
netaddress.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
netaddress.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
netbase.cpp Merge #9289: net: drop boost::thread_group 2017-01-04 12:21:53 +01:00
netbase.h Merge #9289: net: drop boost::thread_group 2017-01-04 12:21:53 +01:00
netmessagemaker.h net: add CVectorWriter and CNetMsgMaker 2016-11-25 12:09:58 -05:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
noui.h
pow.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
pow.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
prevector.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
protocol.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
protocol.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
pubkey.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
random.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
random.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
rest.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
reverselock.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.h
serialize.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
streams.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
sync.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
sync.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
threadinterrupt.cpp net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
threadinterrupt.h net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
threadsafety.h
timedata.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
timedata.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
tinyformat.h util: Update tinyformat 2016-06-27 18:17:27 +02:00
torcontrol.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
torcontrol.h
txdb.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
txdb.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
txmempool.cpp Merge #9288: Fix a bug if the min fee is 0 for FeeFilterRounder 2017-01-04 12:33:56 +01:00
txmempool.h Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
ui_interface.cpp [wallet] Add high transaction fee warnings 2016-09-26 01:11:27 +02:00
ui_interface.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
uint256.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
undo.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
util.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
util.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utilstrencodings.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utiltime.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utiltime.h
validation.cpp Make AcceptToMemoryPool take CTransactionRef 2016-12-21 18:18:23 -08:00
validation.h Merge #9283: A few more CTransactionRef optimizations 2017-01-04 12:23:10 +01:00
validationinterface.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
validationinterface.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
version.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
versionbits.cpp RPC: augment getblockchaininfo bip9_softforks data 2016-10-19 09:08:39 -04:00
versionbits.h RPC: augment getblockchaininfo bip9_softforks data 2016-10-19 09:08:39 -04:00
warnings.cpp Move GetWarnings() into its own file. 2016-12-03 07:17:34 +00:00
warnings.h Move GetWarnings() into its own file. 2016-12-03 07:17:34 +00:00