Open alexgleason opened 7 months ago
Do you have a specific error that is raised? From what I can see we do implement these APIs.
If I recall correctly, the issue is that https://github.com/nodejs/node-addon-api calls napi_release_threadsafe_function, which is supposed to trigger the thread_finalize_cb, but it does not happen. So there is no error that is raised, it is absence of calling the callback that is problem (so a program that is waiting for that callback just hangs).
so a program that is waiting for that callback just hangs
This is exactly what we're experiencing.
Thanks for detailed explanation. @littledivy is this something you could put in your backlog?
I think this should be fixed in https://github.com/denoland/deno/pull/24101. If you have repro code I'd be happy to confirm.
I'm building an application in Deno that uses lmdb-js, and we hit a snag where asyncronous transactions don't work on Deno, which we believe is due to this issue (from the lmdb-js README):
From what we can tell, the "Asynchronous thread-safe function calls" family of functions is not implemented, and may be what's causing this:
Having Deno + LMDB would be a big win for us. And I believe there's unexplored potential with Deno KV as well (eg creating a wrapper for lmdb-js that implements the Deno.KV interface https://github.com/kriszyp/lmdb-js/discussions/236)
cc @kriszyp @xyzshantaram