aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/c_threads.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-05-21copyright: bump to 2024copyCat1-1/+1
2023-04-25Merge pull request #8698luigi11111-1/+1
5b4fea7 Copyright: Update to 2023 (mj-xmr)
2023-03-29Fixed deadlock and crash when syncing with full dataset on WindowsSChernykh1-4/+6
It's not allowed to use WaitForSingleObject with _beginthread, because the thread closes its own handle before exiting. So the wait function will either wait on an invalid handle, or on a different handle used by something else. Or, if it starts waiting before the thread exits, the behavior is undefined according to MS: "If this handle is closed while the wait is still pending, the function's behavior is undefined." In my test sync I observed threads getting stuck infinitely on WaitForSingleObject, and then rx_set_main_seedhash spamming new threads when RandomX seed changes again. Eventually the system ran out of resources, and monerod aborted with "Couldn't start RandomX seed thread" message. This PR fixes it by using `_beginthreadex` instead and explicitly closing the handle when it's safe.
2023-01-16Copyright: Update to 2023mj-xmr1-1/+1
Co-authored-by: plowsof <plowsof@protonmail.com> extra files
2023-01-09Refactored rx-slow-hash.cSChernykh1-15/+25
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)` - Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens - `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance) - New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification) - When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then) - When mining is running, PoW checks now also use dataset for faster verification
2022-03-04Copyright: Update to 2022mj-xmr1-1/+1
2020-05-06Update copyright year to 2020SomaticFanatic1-1/+1
Update copyright year to 2020
2019-09-25RandomX integrationHoward Chu1-0/+58
Support RandomX PoW algorithm