IO->DNSChannel = NULL;
}
assert(IO->Terminate);
+ become_session(IO->CitContext);
IO->Terminate(IO);
}
{
eReadState Finished = eBufferNotEmpty;
+ become_session(IO->CitContext);
+
while ((Finished == eBufferNotEmpty) && (IO->NextState == eReadMessage)){
if (IO->RecvBuf.nBlobBytesWanted != 0) {
int rc;
AsyncIO *IO = watcher->data;
+ become_session(IO->CitContext);
rc = StrBuf_write_one_chunk_callback(watcher->fd, 0/*TODO*/, &IO->SendBuf);
if (rc == 0)
break;
case eSendReply:
case eSendMore:
+ become_session(IO->CitContext);
IO_send_callback(loop, &IO->send_event, revents);
break;
case eTerminateConnection:
AsyncIO *IO = watcher->data;
ev_timer_stop (event_base, &IO->rw_timeout);
+ become_session(IO->CitContext);
+
assert(IO->Timeout);
IO->Timeout(IO);
}
ev_timer_stop (event_base, &IO->conn_fail);
ev_io_stop(loop, &IO->conn_event);
+ become_session(IO->CitContext);
+
assert(IO->ConnFail);
IO->ConnFail(IO);
}
{
AsyncIO *IO = watcher->data;
CtdlLogPrintf(CTDL_DEBUG, "event: %s\n", __FUNCTION__);
+ become_session(IO->CitContext);
IO->DNSQuery->PostDNS(IO);
}
int ReadFirst)
{
IO->Data = pData;
+ become_session(IO->CitContext);
if (ReadFirst) {
IO->NextState = eReadMessage;