/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/ffi/testdata/thread_safe_test_worker.js
41 строка
979 B
David Sherret
ci: add build, test, wpt, and bench jobs (#32158)
14 фев 2026, 14:31
Не верифицирован
14 фев 2026, 14:31
c15529e
Код
Авторство
О чём код?
// Copyright 2018-2026 the Deno authors. MIT license. // deno-lint-ignore-file const targetDir = Deno.execPath().replace(/[^\/\\]+$/, ""); const [libPrefix, libSuffix] = { darwin: ["lib", "dylib"], linux: ["lib", "so"], windows: ["", "dll"], }[Deno.build.os]; const libPath = `${targetDir}/${libPrefix}test_ffi.${libSuffix}`; const dylib = Deno.dlopen(libPath, { store_function: { parameters: ["function"], result: "void", }, call_stored_function: { parameters: [], result: "void", }, }); const callback = new Deno.UnsafeCallback( { parameters: [], result: "void" }, () => { console.log("Callback on worker thread"); }, ); callback.ref(); self.addEventListener("message", ({ data }) => { if (data === "register") { dylib.symbols.store_function(callback.pointer); } else if (data === "call") { dylib.symbols.call_stored_function(); } else if (data === "unref") { callback.close(); } self.postMessage("done"); });