aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoteus <mimir@newmail.ru>2013-12-26 19:09:21 +0400
committermoteus <mimir@newmail.ru>2013-12-26 19:09:21 +0400
commit1e6ac084cf3f3b44295a55f0102dcbc4907c6fbb (patch)
tree1dcbe7cc746412c247429879c073ce8da4cb1175
parentd19ff5561a442e18953130e0f21ac97b9bac4618 (diff)
downloadlua-llthreads2-1e6ac084cf3f3b44295a55f0102dcbc4907c6fbb.tar.gz
lua-llthreads2-1e6ac084cf3f3b44295a55f0102dcbc4907c6fbb.tar.bz2
lua-llthreads2-1e6ac084cf3f3b44295a55f0102dcbc4907c6fbb.zip
Fix. Register LuaJIT built-in libraries.
-rw-r--r--.travis.yml1
-rw-r--r--src/llthread.c18
-rw-r--r--test/test_register_ffi.lua14
3 files changed, 32 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 7162735..96cab16 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -50,6 +50,7 @@ script:
50 - lua$LUA_SFX test_register_llthreads.lua 50 - lua$LUA_SFX test_register_llthreads.lua
51 - lua$LUA_SFX test_join_timeout.lua 51 - lua$LUA_SFX test_join_timeout.lua
52 - lua$LUA_SFX test_join_detach.lua 52 - lua$LUA_SFX test_join_detach.lua
53 - lua$LUA_SFX test_register_ffi.lua
53 54
54notifications: 55notifications:
55 email: 56 email:
diff --git a/src/llthread.c b/src/llthread.c
index b61bf11..5bcd821 100644
--- a/src/llthread.c
+++ b/src/llthread.c
@@ -357,9 +357,25 @@ static void open_thread_libs(lua_State *L){
357 L_REGLIB(L, os, 1); 357 L_REGLIB(L, os, 1);
358 L_REGLIB(L, math, 1); 358 L_REGLIB(L, math, 1);
359 L_REGLIB(L, table, 1); 359 L_REGLIB(L, table, 1);
360 L_REGLIB(L, debug, 1);
361 L_REGLIB(L, string, 1); 360 L_REGLIB(L, string, 1);
362 361
362#ifdef LUA_DBLIBNAME
363 L_REGLIB(L, debug, 1);
364#endif
365
366#ifdef LUA_BITLIBNAME
367 L_REGLIB(L, bit, 1);
368#endif
369
370#ifdef LUA_JITLIBNAME
371 L_REGLIB(L, jit, 1);
372#endif
373
374#ifdef LUA_FFILIBNAME
375 L_REGLIB(L, ffi, 1);
376#endif
377
378
363 lua_settop(L, top); 379 lua_settop(L, top);
364#undef L_REGLIB 380#undef L_REGLIB
365} 381}
diff --git a/test/test_register_ffi.lua b/test/test_register_ffi.lua
new file mode 100644
index 0000000..e98167f
--- /dev/null
+++ b/test/test_register_ffi.lua
@@ -0,0 +1,14 @@
1if jit then
2 local llthreads = require "llthreads"
3 local thread = llthreads.new([[
4 if not package.preload.ffi then
5 print("ffi does not register in thread")
6 os.exit(-1)
7 end
8 local ok, err = pcall(require, "ffi")
9 if not ok then
10 print("can not load ffi: ", err)
11 os.exit(-2)
12 end
13 ]]):start():join()
14end