From 476c3a43e46f9ddbf18a089c1b32d00642308737 Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Wed, 3 Jan 2024 13:24:07 +0100 Subject: [PATCH] Make the process run a bit differently, let's delay the task to the Isolate.run as std::thread was causing some funky crashes that I'm in no mood to fix atm --- libbridge/src/main/cpp/wallet2_api_c.cpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/libbridge/src/main/cpp/wallet2_api_c.cpp b/libbridge/src/main/cpp/wallet2_api_c.cpp index ce9c210..6faa922 100644 --- a/libbridge/src/main/cpp/wallet2_api_c.cpp +++ b/libbridge/src/main/cpp/wallet2_api_c.cpp @@ -955,30 +955,17 @@ uint64_t MONERO_Wallet_daemonBlockChainHeight_cached(void* wallet_ptr) { return daemonBlockChainHeight_cached; } -uint64_t daemonBlockChainHeight_cahceSleepTime = 1; -bool daemonBlockChainHeight_cahceIsEnabled = false; +bool daemonBlockChainHeight_cacheIsEnabled = false; -void MONERO_Wallet_daemonBlockChainHeight_runThread(void* wallet_ptr) { +void MONERO_Wallet_daemonBlockChainHeight_runThread(void* wallet_ptr, int seconds) { while (true) { Monero::Wallet *wallet = reinterpret_cast(wallet_ptr); daemonBlockChainHeight_cached = wallet->daemonBlockChainHeight(); - sleep(daemonBlockChainHeight_cahceSleepTime); - std::cout << "MONERO: TICK: MONERO_Wallet_daemonBlockChainHeight_runThread: " << daemonBlockChainHeight_cached << std::endl; + sleep(seconds); + std::cout << "MONERO: TICK: MONERO_Wallet_daemonBlockChainHeight_runThread(" << seconds << "): " << daemonBlockChainHeight_cached << std::endl; } } -bool MONERO_Wallet_daemonBlockChainHeight_enableRefresh(void* wallet_ptr, int seconds) { - if (seconds < 1) { - seconds = 1; - } - daemonBlockChainHeight_cahceSleepTime = seconds; - if (daemonBlockChainHeight_cahceIsEnabled == true) { - return true; - } - daemonBlockChainHeight_cahceIsEnabled = true; - std::thread t1(MONERO_Wallet_daemonBlockChainHeight_runThread, wallet_ptr); - return true; -} uint64_t MONERO_Wallet_daemonBlockChainTargetHeight(void* wallet_ptr) { Monero::Wallet *wallet = reinterpret_cast(wallet_ptr); return wallet->daemonBlockChainTargetHeight();