koffi 2.15.2-beta.2 → 2.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1
- package/build/koffi/darwin_arm64/koffi.node +0 -0
- package/build/koffi/darwin_x64/koffi.node +0 -0
- package/build/koffi/freebsd_arm64/koffi.node +0 -0
- package/build/koffi/freebsd_ia32/koffi.node +0 -0
- package/build/koffi/freebsd_x64/koffi.node +0 -0
- package/build/koffi/linux_arm64/koffi.node +0 -0
- package/build/koffi/linux_armhf/koffi.node +0 -0
- package/build/koffi/linux_ia32/koffi.node +0 -0
- package/build/koffi/linux_loong64/koffi.node +0 -0
- package/build/koffi/linux_riscv64d/koffi.node +0 -0
- package/build/koffi/linux_x64/koffi.node +0 -0
- package/build/koffi/musl_arm64/koffi.node +0 -0
- package/build/koffi/musl_x64/koffi.node +0 -0
- package/build/koffi/openbsd_ia32/koffi.node +0 -0
- package/build/koffi/openbsd_x64/koffi.node +0 -0
- package/build/koffi/win32_arm64/koffi.node +0 -0
- package/build/koffi/win32_ia32/koffi.node +0 -0
- package/build/koffi/win32_x64/koffi.node +0 -0
- package/index.d.ts +7 -7
- package/index.js +8 -8
- package/indirect.js +8 -8
- package/package.json +1 -1
- package/src/koffi/src/ffi.cc +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
|
|
10
10
|
#### Koffi 2.15.2
|
|
11
11
|
|
|
12
|
-
*Released on 2026-03-
|
|
12
|
+
*Released on 2026-03-11*
|
|
13
13
|
|
|
14
|
+
- Fix possible deadlock or crash after a callback has been used when exiting from Node 24.14+
|
|
14
15
|
- Fix build problems on Android/Termux
|
|
15
16
|
- Fix failing indirect loading caused by missing path test
|
|
17
|
+
- Don't force users to set all members when using koffi.config() in TypeScript
|
|
16
18
|
- Use Clang to build Linux ARM64 prebuild
|
|
17
19
|
|
|
18
20
|
#### Koffi 2.15.1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/index.d.ts
CHANGED
|
@@ -145,13 +145,13 @@ export function introspect(type: TypeSpec): TypeInfo;
|
|
|
145
145
|
export function alias(name: string, type: TypeSpec): IKoffiCType;
|
|
146
146
|
|
|
147
147
|
type KoffiConfig = {
|
|
148
|
-
sync_stack_size
|
|
149
|
-
sync_heap_size
|
|
150
|
-
async_stack_size
|
|
151
|
-
async_heap_size
|
|
152
|
-
resident_async_pools
|
|
153
|
-
max_async_calls
|
|
154
|
-
max_type_size
|
|
148
|
+
sync_stack_size?: number
|
|
149
|
+
sync_heap_size?: number
|
|
150
|
+
async_stack_size?: number
|
|
151
|
+
async_heap_size?: number
|
|
152
|
+
resident_async_pools?: number
|
|
153
|
+
max_async_calls?: number
|
|
154
|
+
max_type_size?: number
|
|
155
155
|
};
|
|
156
156
|
type KoffiStats = {
|
|
157
157
|
disposed: number
|
package/index.js
CHANGED
|
@@ -4,9 +4,9 @@ var __commonJS = (cb, mod3) => function __require() {
|
|
|
4
4
|
return mod3 || (0, cb[__getOwnPropNames(cb)[0]])((mod3 = { exports: {} }).exports, mod3), mod3.exports;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// package/src/cnoke/src/tools.js
|
|
8
8
|
var require_tools = __commonJS({
|
|
9
|
-
"
|
|
9
|
+
"package/src/cnoke/src/tools.js"(exports2, module2) {
|
|
10
10
|
"use strict";
|
|
11
11
|
var crypto = require("crypto");
|
|
12
12
|
var fs2 = require("fs");
|
|
@@ -393,12 +393,12 @@ var require_tools = __commonJS({
|
|
|
393
393
|
}
|
|
394
394
|
});
|
|
395
395
|
|
|
396
|
-
//
|
|
396
|
+
// package/src/koffi/package.json
|
|
397
397
|
var require_package = __commonJS({
|
|
398
|
-
"
|
|
398
|
+
"package/src/koffi/package.json"(exports2, module2) {
|
|
399
399
|
module2.exports = {
|
|
400
400
|
name: "koffi",
|
|
401
|
-
version: "2.15.2
|
|
401
|
+
version: "2.15.2",
|
|
402
402
|
description: "Fast and simple C FFI (foreign function interface) for Node.js",
|
|
403
403
|
keywords: [
|
|
404
404
|
"foreign",
|
|
@@ -440,9 +440,9 @@ var require_package = __commonJS({
|
|
|
440
440
|
}
|
|
441
441
|
});
|
|
442
442
|
|
|
443
|
-
//
|
|
443
|
+
// package/src/koffi/src/init.js
|
|
444
444
|
var require_init = __commonJS({
|
|
445
|
-
"
|
|
445
|
+
"package/src/koffi/src/init.js"(exports, module) {
|
|
446
446
|
var fs = require("fs");
|
|
447
447
|
var path = require("path");
|
|
448
448
|
var util = require("util");
|
|
@@ -526,7 +526,7 @@ var require_init = __commonJS({
|
|
|
526
526
|
}
|
|
527
527
|
});
|
|
528
528
|
|
|
529
|
-
//
|
|
529
|
+
// package/src/koffi/index.js
|
|
530
530
|
var { detect: detect2, init: init2 } = require_init();
|
|
531
531
|
var triplet2 = detect2();
|
|
532
532
|
var native2 = null;
|
package/indirect.js
CHANGED
|
@@ -4,9 +4,9 @@ var __commonJS = (cb, mod3) => function __require() {
|
|
|
4
4
|
return mod3 || (0, cb[__getOwnPropNames(cb)[0]])((mod3 = { exports: {} }).exports, mod3), mod3.exports;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// package/src/cnoke/src/tools.js
|
|
8
8
|
var require_tools = __commonJS({
|
|
9
|
-
"
|
|
9
|
+
"package/src/cnoke/src/tools.js"(exports2, module2) {
|
|
10
10
|
"use strict";
|
|
11
11
|
var crypto = require("crypto");
|
|
12
12
|
var fs2 = require("fs");
|
|
@@ -393,12 +393,12 @@ var require_tools = __commonJS({
|
|
|
393
393
|
}
|
|
394
394
|
});
|
|
395
395
|
|
|
396
|
-
//
|
|
396
|
+
// package/src/koffi/package.json
|
|
397
397
|
var require_package = __commonJS({
|
|
398
|
-
"
|
|
398
|
+
"package/src/koffi/package.json"(exports2, module2) {
|
|
399
399
|
module2.exports = {
|
|
400
400
|
name: "koffi",
|
|
401
|
-
version: "2.15.2
|
|
401
|
+
version: "2.15.2",
|
|
402
402
|
description: "Fast and simple C FFI (foreign function interface) for Node.js",
|
|
403
403
|
keywords: [
|
|
404
404
|
"foreign",
|
|
@@ -440,9 +440,9 @@ var require_package = __commonJS({
|
|
|
440
440
|
}
|
|
441
441
|
});
|
|
442
442
|
|
|
443
|
-
//
|
|
443
|
+
// package/src/koffi/src/init.js
|
|
444
444
|
var require_init = __commonJS({
|
|
445
|
-
"
|
|
445
|
+
"package/src/koffi/src/init.js"(exports, module) {
|
|
446
446
|
var fs = require("fs");
|
|
447
447
|
var path = require("path");
|
|
448
448
|
var util = require("util");
|
|
@@ -526,7 +526,7 @@ var require_init = __commonJS({
|
|
|
526
526
|
}
|
|
527
527
|
});
|
|
528
528
|
|
|
529
|
-
//
|
|
529
|
+
// package/src/koffi/indirect.js
|
|
530
530
|
var { detect: detect2, init: init2 } = require_init();
|
|
531
531
|
var triplet2 = detect2();
|
|
532
532
|
var mod2 = init2(triplet2, null);
|
package/package.json
CHANGED
package/src/koffi/src/ffi.cc
CHANGED
|
@@ -2343,6 +2343,11 @@ bool InitAsyncBroker(Napi::Env env, InstanceData *instance)
|
|
|
2343
2343
|
return false;
|
|
2344
2344
|
}
|
|
2345
2345
|
napi_unref_threadsafe_function(env, instance->broker);
|
|
2346
|
+
|
|
2347
|
+
napi_add_env_cleanup_hook(env, [](void *udata) {
|
|
2348
|
+
napi_threadsafe_function broker = (napi_threadsafe_function)udata;
|
|
2349
|
+
napi_release_threadsafe_function(broker, napi_tsfn_abort);
|
|
2350
|
+
}, instance->broker);
|
|
2346
2351
|
}
|
|
2347
2352
|
|
|
2348
2353
|
return true;
|
|
@@ -2627,10 +2632,6 @@ InstanceData::~InstanceData()
|
|
|
2627
2632
|
}
|
|
2628
2633
|
}
|
|
2629
2634
|
}
|
|
2630
|
-
|
|
2631
|
-
if (broker) {
|
|
2632
|
-
napi_release_threadsafe_function(broker, napi_tsfn_abort);
|
|
2633
|
-
}
|
|
2634
2635
|
}
|
|
2635
2636
|
|
|
2636
2637
|
NODE_API_MODULE(koffi, InitModule);
|