FreeStrBuf(&NW->port);
FreeStrBuf(&NW->secret);
FreeStrBuf(&NW->Url);
+ ((struct CitContext*)NW->IO.CitContext)->state = CON_IDLE;
+ ((struct CitContext*)NW->IO.CitContext)->kill_me = 1;
FreeAsyncIOContents(&NW->IO);
free(NW);
}
{
AsyncNetworker *NW = (AsyncNetworker *)IO->Data;
- network_talking_to(ChrPtr(NW->node), NTT_REMOVE);
+ network_talking_to(SKEY(NW->node), NTT_REMOVE);
DeleteNetworker(IO->Data);
return eAbort;
*/
if (server_shutting_down)
{
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
unlink(ChrPtr(NW->tempFileName));
return eAbort;
}
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
if (link(ChrPtr(NW->SpoolFileName), ChrPtr(NW->tempFileName)) != 0) {
syslog(LOG_ALERT,
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
if (link(ChrPtr(NW->SpoolFileName), ChrPtr(NW->tempFileName)) != 0) {
syslog(LOG_ALERT,
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
rc = NWC_DispatchWriteDone(&NW->IO);
NW->State --;
return rc;
ChrPtr(NW->host),
ChrPtr(NW->port));
- return InitEventIO(IO, NW,
- NWC_ConnTimeout,
- NWC_ReadTimeouts[0],
- 1);
+ return EvConnectSock(IO, NW,
+ NWC_ConnTimeout,
+ NWC_ReadTimeouts[0],
+ 1);
}
void RunNetworker(AsyncNetworker *NW)
NW->IO.Terminate = NWC_Terminate;
NW->IO.LineReader = NWC_ReadServerStatus;
NW->IO.ConnFail = NWC_ConnFail;
- NW->IO.DNSFail = NWC_DNSFail;
+ NW->IO.DNS.Fail = NWC_DNSFail;
NW->IO.Timeout = NWC_Timeout;
NW->IO.ShutdownAbort = NWC_Shutdown;
SubC->session_specific_data = (char*) NW;
NW->IO.CitContext = SubC;
+ safestrncpy(SubC->cs_host,
+ ChrPtr(NW->host),
+ sizeof(SubC->cs_host));
+
if (NW->IO.ConnectMe->IsIP) {
QueueEventContext(&NW->IO,
nwc_connect_ip);
ChrPtr(NW->secret),
ChrPtr(NW->host),
ChrPtr(NW->port));
- if (!network_talking_to(ChrPtr(NW->node), NTT_CHECK))
+ if (!network_talking_to(SKEY(NW->node), NTT_CHECK))
{
- network_talking_to(ChrPtr(NW->node), NTT_ADD);
+ network_talking_to(SKEY(NW->node), NTT_ADD);
RunNetworker(NW);
continue;
}