From 4858c790e6e0c4023d265d6e54e934d1a31eb72c Mon Sep 17 00:00:00 2001 From: Jorge Arellano Cid Date: Wed, 5 Aug 2009 21:46:32 -0400 Subject: Changed the CCCs to build in one step (for both HTTP and DPI) --- src/IO/dpi.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/IO/dpi.c') diff --git a/src/IO/dpi.c b/src/IO/dpi.c index 34932a6a..7d5b550c 100644 --- a/src/IO/dpi.c +++ b/src/IO/dpi.c @@ -615,13 +615,13 @@ void a_Dpi_ccc(int Op, int Branch, int Dir, ChainLink *Info, *fd = SockFD; Info->LocalKey = fd; a_Chain_link_new(Info, a_Dpi_ccc, BCK, a_IO_ccc, 1, 1); - a_Chain_bcb(OpStart, Info, Info->LocalKey, NULL); - /* tell the capi to start the receiving branch */ - a_Chain_fcb(OpSend, Info, Info->LocalKey, "SockFD"); + a_Chain_bcb(OpStart, Info, NULL, NULL); } } if (st == 0 && SockFD != -1) { + a_Chain_bcb(OpSend, Info, &SockFD, "FD"); + a_Chain_fcb(OpSend, Info, &SockFD, "FD"); a_Chain_fcb(OpSend, Info, NULL, "DpidOK"); } else { MSG_ERR("dpi.c: can't start dpi daemon\n"); @@ -645,7 +645,7 @@ void a_Dpi_ccc(int Op, int Branch, int Dir, ChainLink *Info, MSG_WARN("Unused CCC\n"); break; } - } else { /* FWD */ + } else { /* 1 FWD */ /* Send commands to dpi-server (status) */ switch (Op) { case OpAbort: @@ -675,7 +675,7 @@ void a_Dpi_ccc(int Op, int Branch, int Dir, ChainLink *Info, MSG_WARN("Unused CCC\n"); break; } - } else { /* BCK */ + } else { /* 2 BCK */ switch (Op) { case OpStart: conn = Dpi_conn_new(Info); @@ -687,7 +687,12 @@ void a_Dpi_ccc(int Op, int Branch, int Dir, ChainLink *Info, } a_Chain_link_new(Info, a_Dpi_ccc, BCK, a_IO_ccc, 2, 2); - a_Chain_bcb(OpStart, Info, NULL, Data1); /* IORead, SockFD */ + a_Chain_bcb(OpStart, Info, NULL, NULL); /* IORead */ + break; + case OpSend: + if (Data2 && !strcmp(Data2, "FD")) { + a_Chain_bcb(OpSend, Info, Data1, Data2); + } break; case OpAbort: a_Chain_bcb(OpAbort, Info, NULL, NULL); -- cgit v1.2.3