@ai-ecoverse/slicc-kernel 1.121.1 → 1.122.1
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/README.md +9 -1
- package/dist/kernel-worker.js +2 -1
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +39 -3
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +2 -1
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +43 -7
- package/dist/process-worker.js.map +3 -3
- package/dist/types/process/process-fds.d.ts +1 -0
- package/dist/types/process/process-locks.d.ts +6 -0
- package/package.json +1 -1
|
@@ -44,6 +44,7 @@ export interface KernelImports {
|
|
|
44
44
|
fdWrite?: unknown;
|
|
45
45
|
fdRead?: unknown;
|
|
46
46
|
sleepMs?: unknown;
|
|
47
|
+
flock?: unknown;
|
|
47
48
|
}
|
|
48
49
|
export declare function importKey(namespace: WebAssembly.ModuleImports, name: keyof KernelImports, glue: KernelImports | undefined): string | undefined;
|
|
49
50
|
export declare function wrapImport(imports: WebAssembly.Imports, name: keyof KernelImports, glue: KernelImports | undefined, wrap: (original: Syscall) => Syscall, optional?: boolean): void;
|
|
@@ -17,6 +17,7 @@ export interface LockKernel {
|
|
|
17
17
|
setLock(target: LockTarget, kind: LockKind | 'unlock', start: number, len: number, wait: boolean): void;
|
|
18
18
|
getLock(target: LockTarget, kind: LockKind, start: number, len: number): LockHeld | null;
|
|
19
19
|
closeLocks(target: LockTarget): void;
|
|
20
|
+
flock?(fd: number, kind: 'shared' | 'exclusive' | 'unlock', wait: boolean): void;
|
|
20
21
|
}
|
|
21
22
|
export interface LockDeps {
|
|
22
23
|
fs(): ProcessFs | undefined;
|
|
@@ -28,3 +29,8 @@ export declare const lockPromoters: WeakMap<object, () => (stream: ProcessStream
|
|
|
28
29
|
export declare function lockTarget(stream: ProcessStream): LockTarget | undefined;
|
|
29
30
|
export declare function recordLock(fcntl: (fd: number, cmd: number, varargs: number) => number, deps: LockDeps): (fd: number, cmd: number, varargs: number) => number;
|
|
30
31
|
export declare function closeDropsLocks(Fs: ProcessFs, kernel: LockKernel): void;
|
|
32
|
+
export interface FlockDeps {
|
|
33
|
+
fs(): ProcessFs | undefined;
|
|
34
|
+
flock(fd: number, kind: 'shared' | 'exclusive' | 'unlock', wait: boolean): void;
|
|
35
|
+
}
|
|
36
|
+
export declare function kernelFlock(deps: FlockDeps): (fd: number, op: number) => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-kernel",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.122.1",
|
|
4
4
|
"description": "SLICC's wasm-realm kernel: run Emscripten programs in the browser against OPFS, with fork, spawn, pipes and waitpid",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|