aboutsummaryrefslogtreecommitdiff
path: root/src/IO/IO.c
diff options
context:
space:
mode:
authorcorvid <devnull@localhost>2014-07-17 03:24:01 +0000
committercorvid <devnull@localhost>2014-07-17 03:24:01 +0000
commite75e4a0217096ebd7f425278403ab687911b0bb6 (patch)
treedb0a7f268471e8388e982a8fc363221b73802fa8 /src/IO/IO.c
parentf626a943944d0184491bab2c75a09788986b0d04 (diff)
http persistent connections initial patch
Diffstat (limited to 'src/IO/IO.c')
-rw-r--r--src/IO/IO.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/IO/IO.c b/src/IO/IO.c
index a0a8bba5..43a3ff3a 100644
--- a/src/IO/IO.c
+++ b/src/IO/IO.c
@@ -350,6 +350,7 @@ void a_IO_ccc(int Op, int Branch, int Dir, ChainLink *Info,
switch (Op) {
case OpStart:
io = IO_new(IOWrite);
+ io->Info = Info;
Info->LocalKey = io;
break;
case OpSend:
@@ -406,9 +407,10 @@ void a_IO_ccc(int Op, int Branch, int Dir, ChainLink *Info,
IO_submit(io);
}
break;
+ case OpEnd:
case OpAbort:
io = Info->LocalKey;
- IO_close_fd(io, IO_StopRdWr);
+ IO_close_fd(io, Op == OpEnd ? IO_StopRd : IO_StopRdWr);
IO_free(io);
dFree(Info);
break;