summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/headless
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/headless')
-rw-r--r--packages/taler-wallet-core/src/headless/helpers.ts26
1 files changed, 15 insertions, 11 deletions
diff --git a/packages/taler-wallet-core/src/headless/helpers.ts b/packages/taler-wallet-core/src/headless/helpers.ts
index f2285e149..191c48441 100644
--- a/packages/taler-wallet-core/src/headless/helpers.ts
+++ b/packages/taler-wallet-core/src/headless/helpers.ts
@@ -142,19 +142,23 @@ export async function getDefaultNodeWallet(
const myDb = await openTalerDatabase(myIdbFactory, myVersionChange);
let workerFactory;
- try {
- // Try if we have worker threads available, fails in older node versions.
- const _r = "require";
- const worker_threads = module[_r]("worker_threads");
- // require("worker_threads");
- workerFactory = new NodeThreadCryptoWorkerFactory();
- } catch (e) {
- logger.warn(
- "worker threads not available, falling back to synchronous workers",
- );
+ if (process.env["TALER_WALLET_SYNC_CRYPTO"]) {
+ logger.info("using synchronous crypto worker");
workerFactory = new SynchronousCryptoWorkerFactory();
+ } else {
+ try {
+ // Try if we have worker threads available, fails in older node versions.
+ const _r = "require";
+ const worker_threads = module[_r]("worker_threads");
+ // require("worker_threads");
+ workerFactory = new NodeThreadCryptoWorkerFactory();
+ } catch (e) {
+ logger.warn(
+ "worker threads not available, falling back to synchronous workers",
+ );
+ workerFactory = new SynchronousCryptoWorkerFactory();
+ }
}
-
const w = await Wallet.create(myDb, myHttpLib, workerFactory);
if (args.notifyHandler) {