【发布时间】:2015-07-18 15:50:29
【问题描述】:
当我使用以下脚本时:
local smtp = require("socket.smtp")
local from = "from@host"
local rcpt = "rcpt@host"
local msg = {
headers = {
to = rcpt,
subject = "Hi"
},
body = "Hello"
}
smtp.send{from = from,rcpt = rcpt,source = smtp.message(msg)}
我收到一条错误消息:lua entry thread aborted: runtime error: attempt to yield across C-call boundary。
我正在使用从luarocks 安装的最新luasocket 和 Lua 5.1,使用 LuaJIT 2.1 编译的 nginx。是什么导致了此错误消息,我该如何解决?
【问题讨论】:
-
你有一个完整的例子,我们可以插入
content_by_lua_file看看它失败的地方吗?它是否在smtp.send或require行上失败?我怀疑是前者,但想确认一下。 -
这几乎是完整的示例。它在发送功能上失败。
标签: nginx lua luajit luasocket luarocks