lbrycrd/src
Wladimir J. van der Laan de9de2de36 http: Wait for worker threads to exit
Add a WaitExit() call to http's WorkQueue to make it delete the work
queue only when all worker threads stopped.

This fixes a problem that was reproducable by pressing Ctrl-C during
AppInit2:
```
/usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
/usr/include/boost/thread/pthread/mutex.hpp:108: boost::mutex::~mutex(): Assertion `!posix::pthread_mutex_destroy(&m)' failed.
```

I was assuming that `threadGroup->join_all();` would always have been
called when entering the Shutdown(). However this is not the case in
bitcoind's AppInit2-non-zero-exit case "was left out intentionally
here".
2015-09-28 15:06:20 +02:00
..
compat Add an alternate location of endian.h header 2015-06-07 04:54:20 +03:00
config
consensus Add debug message to CValidationState for optional extra information 2015-08-06 09:47:01 +02:00
crypto build: Endian compatibility 2015-03-06 15:54:53 +01:00
leveldb Merge src/leveldb changes for LevelDB 1.18. 2014-10-16 12:23:50 -07:00
obj
obj-test
policy typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
primitives Merge pull request #5264 2015-09-25 19:19:07 +02:00
qt Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
script Merge pull request #5264 2015-09-25 19:19:07 +02:00
secp256k1 Update libsecp256k1 2015-04-22 14:03:10 -07:00
support Remove assertion from ~LockedPageManager 2015-05-15 11:44:58 +02:00
test Merge pull request #5264 2015-09-25 19:19:07 +02:00
univalue Stop parsing JSON after first finished construct. 2015-08-20 12:48:43 +02:00
wallet Merge pull request #6550 2015-09-23 19:37:51 +02:00
zmq Add ZeroMQ support. Notify blocks and transactions via ZeroMQ 2015-09-16 11:01:35 +01:00
.clang-format Update coding style and add .clang-format 2014-07-28 22:08:13 +02:00
addrman.cpp Improve addrman Select() performance when buckets are nearly empty 2015-08-26 01:59:09 +02:00
addrman.h typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
alert.cpp TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
alert.h use const references where appropriate 2015-06-04 19:34:18 +02:00
amount.cpp Rationalize currency unit to "BTC" 2015-08-03 22:58:30 +01:00
amount.h Rationalize currency unit to "BTC" 2015-08-03 22:58:30 +01:00
arith_uint256.cpp src/arith_256.cpp: bigendian compatibility 2015-03-06 17:21:59 +01:00
arith_uint256.h ensure consistent header comment naming conventions 2015-04-20 13:29:22 +02:00
base58.cpp openssl: abstract out OPENSSL_cleanse 2015-02-15 11:34:02 -05:00
base58.h don't try to decode invalid encoded ext keys 2015-07-25 09:51:52 +02:00
bitcoin-cli-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoin-cli.cpp rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout 2015-09-21 17:15:36 +02:00
bitcoin-tx-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoin-tx.cpp Merge pull request #5264 2015-09-25 19:19:07 +02:00
bitcoind-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoind.cpp evhttpd implementation 2015-09-03 10:59:18 +02:00
bloom.cpp Only use randomly created nonces in CRollingBloomFilter. 2015-07-27 19:09:39 +02:00
bloom.h Only use randomly created nonces in CRollingBloomFilter. 2015-07-27 19:09:39 +02:00
chain.cpp Reduce checkpoints' effect on consensus. 2015-05-13 12:52:57 -07:00
chain.h Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
chainparams.cpp Do not store Merkle branches in the wallet. 2015-09-22 18:51:07 +02:00
chainparams.h chainparams: move CCheckpointData into chainparams.h 2015-07-28 15:26:50 -04:00
chainparamsbase.cpp Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams 2015-07-12 11:13:47 +02:00
chainparamsbase.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
chainparamsseeds.h Hardcoded seeds update June 2015 2015-06-25 08:05:52 +02:00
checkpoints.cpp TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
checkpoints.h chainparams: move CCheckpointData into chainparams.h 2015-07-28 15:26:50 -04:00
checkqueue.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
clientversion.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
clientversion.h bump version in clientversion.h 2015-06-02 17:11:05 +02:00
coincontrol.h SQUASH "Implement watchonly support in fundrawtransaction" 2015-08-08 09:30:53 -07:00
coins.cpp Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
coins.h Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
compat.h Fix warning introduced by #6412 2015-07-20 17:10:02 +02:00
compressor.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
compressor.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
core_io.h Resolve issue 3166. 2015-07-30 19:56:00 -04:00
core_memusage.h Do not store Merkle branches in the wallet. 2015-09-22 18:51:07 +02:00
core_read.cpp use const references where appropriate 2015-06-04 19:34:18 +02:00
core_write.cpp Resolve issue 3166. 2015-07-30 19:56:00 -04:00
eccryptoverify.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
eccryptoverify.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
ecwrapper.cpp consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation 2015-08-19 14:25:01 -04:00
ecwrapper.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
hash.cpp chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
hash.h chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
httprpc.cpp Implement RPCTimerHandler for Qt RPC console 2015-09-03 10:59:19 +02:00
httprpc.h evhttpd implementation 2015-09-03 10:59:18 +02:00
httpserver.cpp http: Wait for worker threads to exit 2015-09-28 15:06:20 +02:00
httpserver.h rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout 2015-09-21 17:15:36 +02:00
init.cpp Merge pull request #6664 2015-09-24 18:21:18 +02:00
init.h evhttpd implementation 2015-09-03 10:59:18 +02:00
key.cpp Merge pull request #6034 2015-05-06 18:37:49 +02:00
key.h Merge pull request #6034 2015-05-06 18:37:49 +02:00
keystore.cpp Add logic to track pubkeys as watch-only, not just scripts 2015-07-20 16:01:37 -07:00
keystore.h Add logic to track pubkeys as watch-only, not just scripts 2015-07-20 16:01:37 -07:00
leveldbwrapper.cpp Handle leveldb::DestroyDB() errors on wipe failure 2015-08-12 19:40:09 -04:00
leveldbwrapper.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
limitedmap.h Disallow unlimited limited maps 2015-08-17 12:15:32 -04:00
main.cpp Merge pull request #6550 2015-09-23 19:37:51 +02:00
main.h Track transaction packages in CTxMemPoolEntry 2015-09-19 13:25:48 -04:00
Makefile.am Add ZeroMQ support. Notify blocks and transactions via ZeroMQ 2015-09-16 11:01:35 +01:00
Makefile.qt.include Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
Makefile.qttest.include Add ZeroMQ support. Notify blocks and transactions via ZeroMQ 2015-09-16 11:01:35 +01:00
Makefile.test.include Add ZeroMQ support. Notify blocks and transactions via ZeroMQ 2015-09-16 11:01:35 +01:00
memusage.h Track transaction packages in CTxMemPoolEntry 2015-09-19 13:25:48 -04:00
merkleblock.cpp typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
merkleblock.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
miner.cpp Do not store Merkle branches in the wallet. 2015-09-22 18:51:07 +02:00
miner.h Add some const declarations where they are appropriate. 2015-08-08 18:18:41 +02:00
mruset.h Revert "Cache transaction validation successes" 2015-07-28 20:15:00 +02:00
net.cpp net: correctly initialize nMinPingUsecTime 2015-09-04 16:27:38 +02:00
net.h Report minimum ping time in getpeerinfo 2015-09-03 13:06:13 -07:00
netbase.cpp net: Fix CIDR notation in ToString() 2015-09-16 16:50:19 +02:00
netbase.h Adding CSubNet constructor over a single CNetAddr 2015-07-02 20:44:27 +02:00
noui.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
noui.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
pow.cpp Use equivalent PoW for non-main-chain requests 2015-04-22 03:53:25 -07:00
pow.h Use equivalent PoW for non-main-chain requests 2015-04-22 03:53:25 -07:00
protocol.cpp nLastTry is only used for addrman entries 2015-04-19 11:10:23 -07:00
protocol.h Add NODE_BLOOM service bit and bump protocol version 2015-09-05 23:29:13 -07:00
pubkey.cpp chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
pubkey.h chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
random.cpp WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef. 2015-02-25 18:37:06 -05:00
random.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
rest.cpp Simplify logic of REST request suffix parsing. 2015-09-07 20:38:03 +02:00
reverselock.h Replace boost::reverse_lock with our own. 2015-09-03 15:13:40 -04:00
rpcblockchain.cpp Track transaction packages in CTxMemPoolEntry 2015-09-19 13:25:48 -04:00
rpcclient.cpp Add importpubkey method to import a watch-only pubkey 2015-07-20 16:01:37 -07:00
rpcclient.h Simplify RPCclient, adapt json_parse_error test 2015-06-04 13:18:35 +02:00
rpcmining.cpp [trivial] Fix rpc message "help generate" 2015-09-12 18:19:53 +02:00
rpcmisc.cpp Reformat validateaddress help, add missing iswatchonly description. 2015-08-10 20:10:56 +02:00
rpcnet.cpp [Qt] banlist, UI optimizing and better signal handling 2015-09-16 16:50:19 +02:00
rpcprotocol.cpp evhttpd implementation 2015-09-03 10:59:18 +02:00
rpcprotocol.h evhttpd implementation 2015-09-03 10:59:18 +02:00
rpcrawtransaction.cpp Merge pull request #5264 2015-09-25 19:19:07 +02:00
rpcserver.cpp Make HTTP server shutdown more graceful 2015-09-28 15:06:20 +02:00
rpcserver.h Implement RPCTimerHandler for Qt RPC console 2015-09-03 10:59:19 +02:00
scheduler.cpp Replace boost::reverse_lock with our own. 2015-09-03 15:13:40 -04:00
scheduler.h More robust CScheduler unit test 2015-05-16 17:59:23 -04:00
serialize.h fix header include groups 2015-05-14 01:02:01 -04:00
streams.h allocators: split allocators and pagelocker 2015-03-20 12:23:44 +01:00
sync.cpp Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock"" 2015-08-07 16:18:16 -04:00
sync.h typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
threadsafety.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
timedata.cpp Do not store more than 200 timedata samples. 2015-08-11 15:57:52 +02:00
timedata.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
tinyformat.h Move *Version() functions to version.h/cpp 2014-08-26 13:25:21 +02:00
txdb.cpp TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
txdb.h Cache tweak and logging improvements 2015-05-11 17:58:14 -07:00
txmempool.cpp Fix mempool package tracking edge case 2015-09-23 15:30:41 -04:00
txmempool.h Fix mempool package tracking edge case 2015-09-23 15:30:41 -04:00
ui_interface.h [Qt] add ui signal for banlist changes 2015-09-16 16:50:19 +02:00
uint256.cpp BUGFIX: Stack around the variable 'rv' was corrupted 2015-03-12 22:17:22 +06:00
uint256.h uint256->arith_uint256 blob256->uint256 2015-01-05 15:45:35 +01:00
undo.h MOVEONLY: CBlockUndo from main.h to undo.h 2014-12-27 16:01:31 +01:00
util.cpp Move windows socket init to utility function 2015-09-03 10:59:19 +02:00
util.h Move windows socket init to utility function 2015-09-03 10:59:19 +02:00
utilmoneystr.cpp Get rid of fPlus argument to FormatMoney 2015-06-06 09:30:41 +02:00
utilmoneystr.h Get rid of fPlus argument to FormatMoney 2015-06-06 09:30:41 +02:00
utilstrencodings.cpp [uacomment] Sanitize per BIP-0014 2015-09-16 15:23:29 +02:00
utilstrencodings.h [uacomment] Sanitize per BIP-0014 2015-09-16 15:23:29 +02:00
utiltime.cpp Trivial: useless cast (ptime)(I'm ptime) 2015-04-30 23:11:52 +03:00
utiltime.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
validationinterface.cpp Add ZeroMQ support. Notify blocks and transactions via ZeroMQ 2015-09-16 11:01:35 +01:00
validationinterface.h Add UpdatedBlockTip signal to CMainSignals and CValidationInterface 2015-09-16 10:59:32 +01:00
version.h Add NODE_BLOOM service bit and bump protocol version 2015-09-05 23:29:13 -07:00