Pieter Wuille
092631f0ba
Condition variable for outbound connection slots
...
Keep a global counter for nOutbound, protected with its own waitable
critical section, and wait when all outbound slots are filled, rather
than polling.
This removes the (on average) 1 second delay between a lost connection
and a new connection attempt, and may speed up shutdowns.
2012-04-04 17:24:13 +02:00
Pieter Wuille
712fd182b7
Locking system overhaul, add condition variables
...
This commit simplifies the locking system: CCriticalSection becomes a
simple typedef for boost::interprocess::interprocess_recursive_mutex,
and CCriticalBlock and CTryCriticalBlock are replaced by a templated
CMutexLock, which wraps boost::interprocess::scoped_lock.
By making the lock type a template parameter, some critical sections
can now be changed to non-recursive locks, which support waiting via
condition variables. These are implemented in CWaitableCriticalSection
and WAITABLE_CRITICAL_BLOCK.
CWaitableCriticalSection is a wrapper for a different Boost mutex,
which supports waiting/notification via condition variables. This
should enable us to remove much of the used polling code. Important
is that this mutex is not recursive, so functions that perform the
locking must not call eachother.
Because boost::interprocess::scoped_lock does not support assigning
and copying, I had to revert to the older CRITICAL_BLOCK macros that
use a nested for loop instead of a simple if.
2012-04-04 16:21:08 +02:00
Pieter Wuille
b0a7e05a45
Merge pull request #1019 from laanwj/2012_03_uirefactor
...
Streamline UI ↔ Core interface
2012-04-04 05:03:07 -07:00
Wladimir J. van der Laan
cadae3588c
Merge pull request #1025 from Diapolo/GUI-BlockDL
...
modified block DL progressbar to be more informative and precise
2012-04-04 04:36:09 -07:00
Wladimir J. van der Laan
5cccb13dad
Move from noui.h / ui.h to one ui_interface.h with dummy implementation for the daemon.
2012-04-04 13:19:30 +02:00
Wladimir J. van der Laan
5a60b66a9d
Use a messagebox to display the error when -server is provided without providing a rpc password
2012-04-04 09:37:26 +02:00
Wladimir J. van der Laan
7cfbe1fee4
qtui.h/noui.h interface cleanup
...
- rename wxMessageBox, remove redundant arguments to noui/qtui calls
- also, add flag to force blocking, modal dialog box for disk space warning etc
- clarify function naming
- no more special MessageBox needed from AppInit2, as window object is created before calling AppInit2
2012-04-04 09:37:25 +02:00
Wladimir J. van der Laan
1a3f0da922
support RPC stop and encryptwallet with UI
2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
5d7cebdadc
move translation function _ to qtui.h/noui.h instead of util.h
2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
6cb6d62347
remove dependency on serialize.h and util.h for SecureString
2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
f0b5e9e116
remove unused CalledSetStatusBar and UIThreadCall notifications
2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
98e6175874
Update UI through async calls MainFrameRepaint and AddressBookRepaint instead of a timer.
...
- Overall, this is better design
- This fixes problems with the address book UI not updating when the address book is changed through RPC
- Move Statusbar change detection responsibility to ClientModel
2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
7e7bcce2d9
Code deduplication: make function in GUIUtil to get connection type to call object slot in GUI thread
...
with invokeMethod.
2012-04-04 08:46:12 +02:00
Wladimir J. van der Laan
55f69a4700
move QT_PLUGINS stuff to qt main file, where it belongs
2012-04-04 08:46:12 +02:00
Wladimir J. van der Laan
fc8c44e3d5
Merge pull request #949 from laanwj/2012_03_vc2010compilefixes
...
VC2010 compile fixes
2012-04-03 11:35:33 -07:00
Wladimir J. van der Laan
52d3a48128
VC2010 compile fixes
2012-04-03 20:22:41 +02:00
Gregory Maxwell
703d64469e
Merge pull request #934 from luke-jr/gitian_luke
...
Add Luke-Jr's PGP key to gitian-downloader
2012-04-03 08:09:13 -07:00
Philip Kaufmann
853a4a81b3
clarified comment why we use an own progressbar style / included "~" in the tr() call
2012-04-03 09:42:34 +02:00
Philip Kaufmann
ec9a4904f3
changed percentage done in tooltip to float to be more precise / allowed plurals in translation for "x block(s) remaining"
2012-04-03 08:30:13 +02:00
Gregory Maxwell
3263a245bb
Merge pull request #1026 from laanwj/2012_04_increase_up_to_date_time
...
Increase time ago of last block for "up to date" status from 30 to 90 minutes
2012-04-02 20:35:44 -07:00
Philip Kaufmann
a7a69cd07a
polished code and fixed progress display (was very jerky at the end of a sync)
2012-04-02 23:51:40 +02:00
Philip Kaufmann
e9de46c436
color update for progress bar
2012-04-02 23:48:24 +02:00
Philip Kaufmann
c7c0c93172
implemented OS independent progress bar style / moved one-time functions used on the bar to a better code location
2012-04-02 23:48:23 +02:00
Philip Kaufmann
5519660a0d
changed progressbar text to "~n blocks remaining"
2012-04-02 23:48:22 +02:00
Philip Kaufmann
068ed1e838
removed relative progressbar display and moved re-worked network detection code to setNumBlocks()
2012-04-02 23:48:22 +02:00
Philip Kaufmann
9ceae8acea
modified block DL progressbar to be dynamic and more precise
2012-04-02 23:48:21 +02:00
Wladimir J. van der Laan
2675fe6218
Increase time ago of last block for "up to date" status from 30 to 90 minutes
...
It was too hyperactive.
gmaxwell: I mean that right now when the block gap goes over an hour it starts showing synchronizing. Increasing that to 90 minutes or so would make it only happen about 6.4 times per year
2012-04-02 20:37:55 +02:00
Gavin Andresen
85ea8b4f43
Merge pull request #951 from TheBlueMatt/headerslimit
...
Limit getheaders to a hard 2000.
2012-04-02 11:22:11 -07:00
Pieter Wuille
91c5132ab5
Merge pull request #998 from Diapolo/transactiontable
...
removed an ugly line break in a transaction tooltip
2012-04-02 07:19:22 -07:00
Pieter Wuille
d3f220b2c2
Merge pull request #1022 from Diapolo/fix#1020
...
fix for #1020
2012-04-02 07:08:14 -07:00
Pieter Wuille
fdef04e77b
Merge pull request #995 from Diapolo/master
...
fixed typo in comment in netbase.h and bignum.h
2012-04-02 07:07:48 -07:00
Pieter Wuille
542a1380aa
Merge pull request #1006 from Diapolo/tr-tray
...
made tray icon tooltip translatable
2012-04-02 07:07:21 -07:00
Pieter Wuille
811bde8267
Merge pull request #1018 from sipa/gpg
...
Updated my GPG key
2012-04-02 07:06:24 -07:00
Gavin Andresen
f3da2a88c9
Bump version to 0.6.0.99 for 0.6.1 merge window
2012-04-02 10:03:26 -04:00
Philip Kaufmann
b5271c8861
hide Delete button (only) on ReceivingTab / hide Sign message button (only) on SendingTab
2012-04-01 13:22:34 +02:00
Pieter Wuille
94e6967e98
Updated my GPG key
2012-03-31 15:39:14 +02:00
Philip Kaufmann
7e05b97229
fixed typo in comment in netbase.h and bignum.h
2012-03-30 07:44:35 +02:00
Gavin Andresen
a1c3d8f14d
Merge branch 'master' of github.com:bitcoin/bitcoin
2012-03-29 15:11:04 -04:00
Gavin Andresen
f146061d24
Merge pull request #1010 from sipa/fastblocks2
...
Use transactions-updated as flush condition
2012-03-29 12:10:30 -07:00
Gavin Andresen
dac1888c18
Merge pull request #1008 from gavinandresen/addrworkaround
...
Workaround hangs when upgrading old addr.dat files
2012-03-29 12:10:08 -07:00
Pieter Wuille
25c5eca893
Use transactions-updated as flush condition
...
The normal checkpointing during the block chain download is reduced
to every five minutes only, but forced every 200000 updated transactions.
2012-03-29 21:00:31 +02:00
Gavin Andresen
f3f9da868e
Bump version to 0.6.0rc6
2012-03-29 13:58:22 -04:00
Gavin Andresen
6293a9f87f
Workaround hangs when upgrading old addr.dat files
2012-03-29 13:34:07 -04:00
Gavin Andresen
83e914c1d5
Merge pull request #1007 from gavinandresen/log_auto_remove
...
Auto-remove logs, and decrease logfile size to 10M
2012-03-29 10:13:42 -07:00
Gavin Andresen
94b5960ef3
Merge pull request #996 from Diapolo/tx-lang-upd
...
update translations from transifex
2012-03-29 06:48:01 -07:00
Gavin Andresen
9f18347034
Auto-remove logs, and decrease logfile size to 10M
2012-03-29 09:03:11 -04:00
Philip Kaufmann
3d1d5fafc1
made tray icon tooltip translatable
2012-03-29 07:59:15 +02:00
Philip Kaufmann
0b637e0b86
removed an ugly line break in a transaction tooltip for case TransactionStatus::Mature
2012-03-27 23:20:09 +02:00
Philip Kaufmann
7b2eecd428
update translations from transifex
2012-03-27 10:13:38 +02:00
Gavin Andresen
8d29329f93
Update version to 60005 (0.6.0rc5)
2012-03-26 15:42:06 -04:00