Pieter Wuille
231b399952
Bugfix: remove conflicting transactions from memory pool
...
When a transaction A is in the memory pool, while a transaction B
(which shares an input with A) gets accepted into a block, A was
kept forever in the memory pool.
This commit adds a CTxMemPool::removeConflicts method, which
removes transactions that conflict with a given transaction, and
all their children.
This results in less transactions in the memory pool, and faster
construction of new blocks.
12 years ago
Pieter Wuille
3ed1ccb089
Merge pull request #2004 from alexanderkjeldaas/simplify-cmutexlock
...
Simplify CMutexLock
12 years ago
Pieter Wuille
7818d230a2
Merge pull request #2013 from sipa/blockheader
...
Split off CBlockHeader from CBlock
12 years ago
burger2
ecd67a1420
Fix duplicate shortcut usage in sign/verify message dialog.
12 years ago
Pieter Wuille
c07a1a6ee4
Merge pull request #1980 from sipa/noreorgsame
...
Do not reorganize if new branch has same amount of work
12 years ago
Wladimir J. van der Laan
b0e228a4b0
Merge pull request #2024 from Diapolo/fix_qt_crash
...
Bitcoin-Qt: fix crash on Windows caused by CDBEnv::EnvShutdown()
12 years ago
Gavin Andresen
edf6ba2690
Merge pull request #2031 from gavinandresen/scriptcomment
...
Add assert and comment for subtle pay-to-script-hash logic
12 years ago
default
fe703deae7
Deploy properly with Nokia Qt installer's Frameworks
12 years ago
Gavin Andresen
a91efb2d8d
Add assert and comment for subtle pay-to-script-hash logic
12 years ago
Philip Kaufmann
be8e1f8479
Bitcoin-Qt: fix crash on Windows caused by CDBEnv::EnvShutdown()
...
- can be triggerd by just adding -proxy=crashme with 0.7.1
- crash occured, when AppInit2() was left with return false; after the
first call to bitdb.open() (Step 6 in init)
- this is caused by GetDataDir() or .string() in CDBEnv::EnvShutdown()
called via the bitdb global destructor
- init fDbEnvInit and fMockDb to false in CDBEnv::CDBEnv()
12 years ago
Wladimir J. van der Laan
4725e96a3a
Merge pull request #2022 from Diapolo/fix_#2018
...
fix pull #2018
12 years ago
Philip Kaufmann
11406c89fe
ConnectBlock(): fix error() format to be unsigned
...
- I introduced the wrong format macro with my former patch (#2018 ), this
needs to be signed not unsigned (thanks Luke-Jr)
12 years ago
Wladimir J. van der Laan
98e7771ca1
Merge pull request #2019 from Diapolo/bitcoinstrings_upd
...
update bitcoinstrings.cpp and bitcoin_en.ts
12 years ago
Philip Kaufmann
baa510b210
update bitcoinstrings.cpp and bitcoin_en.ts
12 years ago
Gavin Andresen
e45d39f9ee
Merge pull request #2009 from sipa/fixmove
...
Prevent RPC 'move' from deadlocking
12 years ago
Pieter Wuille
1fefd2a5bc
Merge pull request #2018 from Diapolo/fix_warning
...
ensure we use our format macros to avoid compilation warnings
12 years ago
Philip Kaufmann
42152c3da9
ensure we use our format macros to avoid compilation warnings
...
- fixes 2 warnings I observed while compiling on Windows with MinGW
12 years ago
Wladimir J. van der Laan
0c42ee8130
Merge pull request #1767 from Diapolo/RPCCon_clear_history
...
clear history when using clear button in RPC console
12 years ago
Jeff Garzik
3ef292dc7d
Merge pull request #1670 from luke-jr/blksubstr
...
Use full block hash as unique identifier in debug.log
12 years ago
Jeff Garzik
848c0d5d95
Merge pull request #1945 from centromere/leveldb_fix
...
Fixed compile error on FreeBSD 9.
12 years ago
Jeff Garzik
34ea321ccd
Merge pull request #1987 from jgarzik/no-pw-match
...
RPC: Forbid RPC username == RPC password
12 years ago
Jeff Garzik
824e196054
Merge pull request #2005 from Diapolo/fixes_main
...
some small fixes for main.cpp/.h
12 years ago
Jeff Garzik
a0bf93b809
Merge pull request #2012 from luke-jr/invblk_errs
...
Print error for coinbase-pays-too-much case of ConnectBlock failing
12 years ago
Jeff Garzik
fdbb537d26
Add new RPC "lockunspent", to prevent spending of selected outputs
...
and associated RPC "listlockunspent".
This is a memory-only filter, which is empty when a node restarts.
12 years ago
Jeff Garzik
7e1610d51e
RPC: Forbid RPC username == RPC password
...
Added security measure.
12 years ago
Pieter Wuille
bb76267cc4
Merge pull request #2010 from Diapolo/bind_unsigned
...
make enum and parameter used in Bind() unsigned
12 years ago
Pieter Wuille
e754cf4133
Split off CBlockHeader from CBlock
...
Cleaner and removes the need for the application-specific flags in
serialize.h.
12 years ago
Jeff Garzik
3b9f029def
Merge pull request #2008 from sipa/scriptflags
...
Introduce script verification flags
12 years ago
Pieter Wuille
99d0d0f356
Introduce script verification flags
...
These flags select features to be enabled/disabled during script
evaluation/checking, instead of several booleans passed along.
Currently these flags are defined:
* SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation
* SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
12 years ago
Wladimir J. van der Laan
6caffb5358
Merge pull request #1984 from grimd34th/patch-2
...
VariantClear@4 + shutdown@8 patch
12 years ago
Luke Dashjr
4ade04ddbd
Print error for coinbase-pays-too-much case of ConnectBlock failing
12 years ago
Philip Kaufmann
29e214aaf5
make enum and parameter used in Bind() unsigned
...
- it's good practise to use unsigned int for enum flags, so change this
one, as I introduced this for Bind()
12 years ago
Alexander Kjeldaas
bfc9620799
Simplify CMutexLock
...
o Remove unused Leave and GetLock functions
o Make Enter and TryEnter private.
o Simplify Enter and TryEnter.
boost::unique_lock doesn't really know whether the
mutex it wraps is locked or not when the defer_lock
option is used.
The boost::recursive_mutex does not expose this
information, so unique_lock only infers this
knowledge. When taking the lock is defered, it
(randomly) assumes that the lock is not taken.
boost::unique_lock has the following definition:
unique_lock(Mutex& m_,defer_lock_t):
m(&m_),is_locked(false)
{}
bool owns_lock() const
{
return is_locked;
}
Thus it is a mistake to check owns_lock() in Enter
and TryEnter - they will always return false.
12 years ago
Pieter Wuille
4291e8feab
Prevent RPC 'move' from deadlocking
...
It seemed to create two CWalletDB objects that both grab the
database lock.
12 years ago
Luke Dashjr
c34a32699e
Change block references in debug.log to full hash instead of just 0..20
12 years ago
Luke Dashjr
f3a84c3a6b
Abstract block hash substr extraction (for debug.log) into BlockHashStr inline
12 years ago
Wladimir J. van der Laan
f2b12807d0
Merge pull request #1479 from Diapolo/wallet_add_GetImmatureCredit
...
add CWalletTx::GetImmatureCredit() and use it in CWallet::GetImmatureBalance()
12 years ago
Philip Kaufmann
966a0e8cc9
add CWalletTx::GetImmatureCredit() and use it in CWallet::GetImmatureBalance()
12 years ago
Wladimir J. van der Laan
0d5b1d2a3e
Merge pull request #2002 from alexanderkjeldaas/clang-warnings
...
o Removed verbose clang warning
12 years ago
Robert Backhaus
978770b59d
Change 'make' to $(MAKE) in leveldb make command line
12 years ago
Philip Kaufmann
13e5cce4c3
some small fixes for main.cpp/.h
...
- remove an unwanted ";" at the end of the ~CCoinsView() destructor
- in FindBlockPos() and FindUndoPos() only call fclose(), is file is open
- fix an error string in the CBlockUndo class
12 years ago
Pieter Wuille
e12efb9d33
Merge pull request #1970 from Arnavion/fix-make-leveldb
...
leveldb cannot compile with custom CFLAGS / CXXFLAGS / LDFLAGS
12 years ago
Pieter Wuille
537c890f24
Merge pull request #1997 from Diapolo/bdb_open
...
simplify CDBEnv::Open() / fix small glitches
12 years ago
Pieter Wuille
337f876cbb
Merge pull request #2000 from Diapolo/fix_indentation
...
fix some missing indentations in main.cpp for better readability
12 years ago
Alexander Kjeldaas
25511af4a5
o Annotated lock-like functions in net.h.
...
o Removed unused function EndMessageAbortIfEmpty
12 years ago
Alexander Kjeldaas
05f97d1263
o Added AnnotatedMixin which adds locking annotations to the mutex
...
API, compatible with clang's -Wthread-safety
12 years ago
Alexander Kjeldaas
c043ff79e3
o Added threadsafety.h - a set of macros using the -Wthread-safety
...
feature in clang. These macros should primarily be used to
document which locks protect a given piece of data. Secondary it
can be used to document the set of held and excluded locks when
entering a function.
12 years ago
Alexander Kjeldaas
40c5e409e1
o Removed verbose clang warning
12 years ago
Pieter Wuille
6ca2ea2fa2
Merge pull request #1979 from sipa/corefndoc
...
One-line comments for public main functions
12 years ago
Pieter Wuille
160b028b88
One-line comments for public main functions
12 years ago