mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-17 08:54:41 +00:00
BUG/MEDIUM: lua: cannot connect socket
The Lua stack is not waked up when the connect() receive a positive or negatibe response. This patch adds a signal to wake up the Lua stack.
This commit is contained in:
parent
486d52a2a3
commit
95ad96a7ea
@ -1658,6 +1658,8 @@ __LJMP static int hlua_socket_connect(struct lua_State *L)
|
||||
int port;
|
||||
const char *ip;
|
||||
struct connection *conn;
|
||||
struct hlua *hlua;
|
||||
struct appctx *appctx;
|
||||
|
||||
MAY_LJMP(check_args(L, 3, "connect"));
|
||||
|
||||
@ -1687,6 +1689,10 @@ __LJMP static int hlua_socket_connect(struct lua_State *L)
|
||||
*/
|
||||
task_wakeup(socket->s->task, TASK_WOKEN_INIT);
|
||||
|
||||
hlua = hlua_gethlua(L);
|
||||
appctx = objt_appctx(socket->s->si[0].end);
|
||||
if (!hlua_com_new(hlua, &appctx->ctx.hlua.wake_on_write))
|
||||
WILL_LJMP(luaL_error(L, "out of memory"));
|
||||
WILL_LJMP(hlua_yieldk(L, 0, 0, hlua_socket_connect_yield, TICK_ETERNITY, 0));
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user