pguillory / luajit-libuv Goto Github PK
View Code? Open in Web Editor NEWLuaJIT FFI binding for libuv
License: MIT License
LuaJIT FFI binding for libuv
License: MIT License
I'm looking into upgrading this library to version 1 of libuv (1.0.2).
Looks like most things are working out of the box, but I'm struggling with scandir changes, specifically scandir_next.
Do you have plans to look at 1.0.2 yourself?
Do you have any tips on how to deal with scandir changes?
I'm getting this error on make test
:
make test
luajit: src/uv/uv_tcp_t.lua:57: attempt to index upvalue 'libuv2' (a boolean value)
stack traceback:
src/uv/uv_tcp_t.lua: in function 'listen'
test/uv_test.lua:12: in function <test/uv_test.lua:9>
stack traceback:
[builtin#19]: at 0x0100036e30
[C]: in function 'uv_run'
src/uv/uv_loop_t.lua:22: in function 'run'
test/uv_test.lua:9: in main chunk
[C]: at 0x0100001f60
make: *** [run-tests] Error 1
I think it's related to this line in the Makefile:
gcc -dynamiclib src/uv/libuv2.c -o src/uv/lib/libuv2.dylib -luv -L src/uv/lib
where libuv2.dylib seems to be referencing /usr/local/lib/libuv.11.dylib instead of src/uv/lib/
I was not able to track it further. Thanks
There is no contact information for the maintainer, so I am posting here. Sorry.
This is awesome!
The project is still under active development, but is there any way I can help?
Regards, @jtarchie
Great job at getting libuv to work with a synchronous syntax! However libuv changed a lot since 0.10.21 and building it against 0.11.27 yields a lot of errors. Do you mind taking a look by installing libuv with the --devel option: brew install --devel libuv
before building luajit-libuv? Thanks
It seems the FFI approach with callbacks ends up hitting the callbacks limit wall (see http://luajit.org/ext_ffi_semantics.html#callback):
Callback resource handling
Callbacks take up resources โ you can only have a limited number of them at the same time (500 - 1000, depending on the architecture). The associated Lua functions are anchored to prevent garbage collection, too.
A far-fetched example that demos the "too many callbacks" error:
for i=1, 1000 do
uv.run(function()
print(i)
end)
end
Any workarounds?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.