diff options
author | corvid <devnull@localhost> | 2014-07-17 03:24:01 +0000 |
---|---|---|
committer | corvid <devnull@localhost> | 2014-07-17 03:24:01 +0000 |
commit | e75e4a0217096ebd7f425278403ab687911b0bb6 (patch) | |
tree | db0a7f268471e8388e982a8fc363221b73802fa8 /src/IO/IO.c | |
parent | f626a943944d0184491bab2c75a09788986b0d04 (diff) |
http persistent connections initial patch
Diffstat (limited to 'src/IO/IO.c')
-rw-r--r-- | src/IO/IO.c | 4 |
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; |