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.
diff --git a/src/hlua.c b/src/hlua.c
index 73bd94c..260646b 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -1658,6 +1658,8 @@
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 @@
*/
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;