Changeset View
Changeset View
Standalone View
Standalone View
doc/developer-notes.md
Show First 20 Lines • Show All 274 Lines • ▼ Show 20 Lines | |||||
Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main | Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main | ||||
and then cs_wallet, while thread 2 locks them in the opposite order: | and then cs_wallet, while thread 2 locks them in the opposite order: | ||||
result, deadlock as each waits for the other to release its lock) are | result, deadlock as each waits for the other to release its lock) are | ||||
a problem. Compile with -DDEBUG_LOCKORDER to get lock order | a problem. Compile with -DDEBUG_LOCKORDER to get lock order | ||||
inconsistencies reported in the debug.log file. | inconsistencies reported in the debug.log file. | ||||
Re-architecting the core code so there are better-defined interfaces | Re-architecting the core code so there are better-defined interfaces | ||||
between the various components is a goal, with any necessary locking | between the various components is a goal, with any necessary locking | ||||
done by the components (e.g. see the self-contained CKeyStore class | done by the components (e.g. see the self-contained CBasicKeyStore class | ||||
and its cs_KeyStore lock for example). | and its cs_KeyStore lock for example). | ||||
Threads | Threads | ||||
------- | ------- | ||||
- ThreadScriptCheck : Verifies block scripts. | - ThreadScriptCheck : Verifies block scripts. | ||||
- ThreadImport : Loads blocks from blk*.dat files or bootstrap.dat. | - ThreadImport : Loads blocks from blk*.dat files or bootstrap.dat. | ||||
▲ Show 20 Lines • Show All 476 Lines • Show Last 20 Lines |