aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make QT runawayException call GetWarnings instead of directly access ↵Gregory Maxwell2016-12-035-49/+59
| | | | | | | | strMiscWarning. This is a first step in avoiding racy accesses to strMiscWarning. The change required moving GetWarnings and related globals to util.
* Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille2016-12-0253-3080/+3146
|\ | | | | | | | | | | | | | | main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
| * Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo2016-12-0250-53/+53
| |
| * Move network-msg-processing code out of main to its own fileMatt Corallo2016-12-0216-3028/+3096
| |
| * Remove orphan state wipe from UnloadBlockIndex.Matt Corallo2016-12-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | As orphan state is now "network state", like in d6ea737be19a0001e69e4e854eb1cef21523ea7a, UnloadBlockIndex is only used during init if we end up reindexing to clear our block state so that we can start over. However, at that time no connections have been brought up as CConnman hasn't been started yet, so all of the network processing state logic is empty when its called.
* | Merge #9251: Improvement of documentation of command line parameter 'whitelist'MarcoFalke2016-12-021-1/+1
|\ \ | | | | | | | | | 8a70a9d Improvement of documentation of command line parameter 'whitelist' (wodry)
| * | Improvement of documentation of command line parameter 'whitelist'wodry2016-11-301-1/+1
| | |
* | | Merge #9223: unification of Bloom filter representationMarcoFalke2016-12-021-10/+10
|\ \ \ | | | | | | | | | | | | b7aa290 unification of Bloom filter representation (S. Matthew English)
| * | | unification of Bloom filter representationS. Matthew English2016-11-261-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Output instances of "BloomFilter" changed to "Bloom filter", in accordance with Wikipedia standard notation: https://en.wikipedia.org/wiki/Bloom_filter also to sync with the majority of cases in the self-same file
* | | | bitcoin-cli: Make error message less confusingWladimir J. van der Laan2016-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sorry for the churn on this, but the current message (introduced in #9073) isn't acceptable: $ src/bitcoin-cli getinfo rpc: couldn't connect to server (make sure server is running and you are connecting to the correct RPC port: -1 unknown) Putting the error code after the words "RPC port" made me wonder whether there was a port configuration issue. This changes it to: $ src/bitcoin-cli getinfo error: couldn't connect to server: unknown (code -1) (make sure server is running and you are connecting to the correct RPC port)
* | | | Merge #9239: Disable fee estimates for 1 block targetWladimir J. van der Laan2016-12-025-13/+28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | e878689 Make GUI incapable of setting tx confirm target of 1 (Alex Morcos) d824ad0 Disable fee estimates for a confirm target of 1 block (Alex Morcos)
| * | | | Make GUI incapable of setting tx confirm target of 1Alex Morcos2016-11-292-5/+5
| | | | |
| * | | | Disable fee estimates for a confirm target of 1 blockAlex Morcos2016-11-293-8/+23
| | | | |
* | | | | Merge #9229: Remove calls to getaddrinfo_aWladimir J. van der Laan2016-12-021-47/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | 10ae7a7 Revert "Use async name resolving to improve net thread responsiveness" (Matt Corallo)
| * | | | Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo2016-12-011-47/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98. getaddrinfo_a has a nasty tendency to segfault internally in its background thread, on every version of glibc I tested, especially under helgrind. See https://sourceware.org/bugzilla/show_bug.cgi?id=20874
* | | | | Merge #9183: Final Preparation for main.cpp SplitPieter Wuille2016-12-012-18/+59
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c8c57e Document cs_main status when calling into PNB or PNBH (Matt Corallo) 58a215c Use ProcessNewBlockHeaders in CMPCTBLOCK processing (Matt Corallo) a8b936d Use exposed ProcessNewBlockHeaders from ProcessMessages (Matt Corallo) 63fd101 Split ::HEADERS processing into two separate cs_main locks (Matt Corallo) 4a6b1f3 Expose AcceptBlockHeader through main.h (Matt Corallo)
| * | | | Document cs_main status when calling into PNB or PNBHMatt Corallo2016-12-011-0/+4
| | | | |
| * | | | Use ProcessNewBlockHeaders in CMPCTBLOCK processingMatt Corallo2016-12-011-2/+7
| | | | |
| * | | | Use exposed ProcessNewBlockHeaders from ProcessMessagesMatt Corallo2016-12-011-12/+15
| | | | |
| * | | | Split ::HEADERS processing into two separate cs_main locksMatt Corallo2016-11-231-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | This will allow NotifyHeaderTip to be called from an AcceptBlockHeader wrapper function without holding cs_main.
| * | | | Expose AcceptBlockHeader through main.hMatt Corallo2016-11-232-1/+27
| | | | |
* | | | | Merge #9188: Make orphan parent fetching ask for witnesses.Pieter Wuille2016-12-011-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 5b0150a Make orphan parent fetching ask for witnesses. (Gregory Maxwell)
| * | | | | Make orphan parent fetching ask for witnesses.Gregory Maxwell2016-11-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0.13 orphan transactions began being treated as implicit INVs for their parents. But the resulting getdata were not getting the witness flag. This fixes issue #9182 reported by chjj and roasbeef on IRC.
* | | | | | Merge #9253: Fix calculation of number of bound sockets to usePieter Wuille2016-12-011-1/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 9e1f468 Fix calculation of number of bound sockets to use (Matt Corallo)
| * | | | | | Fix calculation of number of bound sockets to useMatt Corallo2016-11-301-1/+3
| | | | | | |
* | | | | | | Merge #9230: Fix some benign races in timestamp loggingWladimir J. van der Laan2016-12-012-3/+4
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | 8b22efb Make fStartedNewLine an std::atomic_bool (Matt Corallo) 507145d Fix race when accessing std::locale::classic() (Matt Corallo)
| * | | | | | Make fStartedNewLine an std::atomic_boolMatt Corallo2016-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While this doesnt really fix the race of adding timestamps mid-logical-line, it avoids the undefined behavior of using a bool in multiple threads.
| * | | | | | Fix race when accessing std::locale::classic()Matt Corallo2016-11-271-1/+2
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78552
* | | | | | Merge #9226: Remove fNetworkNode and pnodeLocalHost.Pieter Wuille2016-11-303-22/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | bdb922b Remove pnodeLocalHost. (Gregory Maxwell) 083f203 Remove fNetworkNode. (Gregory Maxwell)
| * | | | | | Remove pnodeLocalHost.Gregory Maxwell2016-11-271-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly a legacy of the long removed pub/sub system.
| * | | | | | Remove fNetworkNode.Gregory Maxwell2016-11-273-7/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | Matt pointed out to me that this appeared to be doing nothing (except involving itself in data races).
* | | | | | Merge #9244: Trivial refactor: Remove extern keyword from function declarationsPieter Wuille2016-11-301-11/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 446a8f9 Trivial refactor: Remove extern keyword from function declarations, as they are extern by default. (Karl-Johan Alm)
| * | | | | | Trivial refactor: Remove extern keyword from function declarations, as they ↵Karl-Johan Alm2016-11-301-11/+11
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | are extern by default.
* | | | | | Merge #9010: Split up AppInit2 into multiple phases, daemonize after datadir ↵Pieter Wuille2016-11-306-35/+121
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lock errors deec83f init: Get rid of fServer flag (Wladimir J. van der Laan) 16ca0bf init: Try to aquire datadir lock before and after daemonization (Wladimir J. van der Laan) 0cc8b6b init: Split up AppInit2 into multiple phases (Wladimir J. van der Laan)
| * | | | | init: Get rid of fServer flagWladimir J. van der Laan2016-11-293-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to store this flag globally, the variable is only used inside the initialization process. Thanks to Alex Morcos for the idea.
| * | | | | init: Try to aquire datadir lock before and after daemonizationWladimir J. van der Laan2016-11-291-11/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before daemonization, just probe the data directory lock and print an early error message if possible. After daemonization get the data directory lock again and hold on to it until exit This creates a slight window for a race condition to happen, however this condition is harmless: it will at most make us exit without printing a message to console. $ src/bitcoind -testnet -daemon Bitcoin server starting $ src/bitcoind -testnet -daemon Error: Cannot obtain a lock on data directory /home/orion/.bitcoin/testnet3. Bitcoin Core is probably already running.
| * | | | | init: Split up AppInit2 into multiple phasesWladimir J. van der Laan2016-11-294-21/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows doing some of the steps before e.g. daemonization and some fater.
* | | | | | Merge #9234: torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan2016-11-301-1/+1
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | 7d3b627 torcontrol: Explicitly request RSA1024 private key (Wladimir J. van der Laan)
| * | | | | torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan2016-11-281-1/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating a new service key, explicitly request a RSA1024 one. The bitcoin P2P protocol has no support for the longer hidden service names that will come with ed25519 keys, until it does, we depend on the old hidden service type so make this explicit. See #9214.
* | | | | Merge #9202: bench: Add support for measuring CPU cyclesWladimir J. van der Laan2016-11-295-5/+121
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 3532818 bench: Add support for measuring CPU cycles (Wladimir J. van der Laan)
| * | | | | bench: Add support for measuring CPU cyclesWladimir J. van der Laan2016-11-225-5/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds cycle min/max/avg to the statistics. Supported on x86 and x86_64 (natively through rdtsc), as well as Linux (perf syscall).
* | | | | | Merge #9225: Fix some benign racesWladimir J. van der Laan2016-11-295-36/+32
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dfed983 Fix unlocked access to vNodes.size() (Matt Corallo) 3033522 Remove double brackets in addrman (Matt Corallo) dbfaade Fix AddrMan locking (Matt Corallo) 047ea10 Make fImporting an std::atomic (Matt Corallo) 42071ca Make fDisconnect an std::atomic (Matt Corallo)
| * | | | | | Fix unlocked access to vNodes.size()Matt Corallo2016-11-261-2/+7
| | | | | | |
| * | | | | | Remove double brackets in addrmanMatt Corallo2016-11-261-18/+12
| | | | | | |
| * | | | | | Fix AddrMan lockingMatt Corallo2016-11-261-13/+10
| | | | | | |
| * | | | | | Make fImporting an std::atomicMatt Corallo2016-11-262-2/+2
| | | | | | |
| * | | | | | Make fDisconnect an std::atomicMatt Corallo2016-11-251-1/+1
| | | | | | |
* | | | | | | Merge #9224: Prevent FD_SETSIZE error building on OpenBSDWladimir J. van der Laan2016-11-291-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 498a1d7 Include select.h when WIN32 is not defined (Ivo van der Sangen)
| * | | | | | | Include select.h when WIN32 is not definedIvo van der Sangen2016-11-291-0/+1
| | |_|/ / / / | |/| | | | |
* / | | | | | Fix some typosfsb40002016-11-288-8/+8
|/ / / / / /