Fix recoverable exception in mesh accelerator.

Ylian Saint-Hilaire committed Oct 29, 2023 at 18:01 UTC fed8f021f29adcfe12c111455ff22a4c58b4371d
1 file changed +14 -1
meshaccelerator.js
+14 -1
@@ -32,7 +32,20 @@ module.exports.processMessage = function(message) {
32 const sign = crypto.createSign('SHA384');
33 sign.end(Buffer.from(message.data, 'binary'));
34 process.send(sign.sign(message.key).toString('binary'));
35 - } catch (e) { process.send(null); }
35 + } catch (ex) {
36 + // If this exception happens, try again.
37 + if (ex.code == 'ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY') {
38 + try {
39 + const sign = crypto.createSign('SHA384');
40 + sign.end(Buffer.from(message.data, 'binary'));
41 + process.send(sign.sign(message.key).toString('binary'));
42 + } catch (ex) {
43 + process.send(null);
44 + }
45 + } else {
46 + process.send(null);
47 + }
48 + }
49 break;
50 }
51 case 'setState': {