Newer
Older
}
do {
Daniel Stenberg
committed
if(get_request(msgsock, &req))
/* non-zero means error, break out of loop */
break;
Daniel Stenberg
committed
if(prevbounce) {
/* bounce treatment requested */
if((req.testno == prevtestno) &&
(req.partno == prevpartno)) {
req.partno++;
logmsg("BOUNCE part number to %ld", req.partno);
}
}
Daniel Stenberg
committed
send_doc(msgsock, &req);
Daniel Stenberg
committed
if((req.testno < 0) && (req.testno != DOCNUMBER_CONNECT)) {
logmsg("special request received, no persistancy");
break;
}
Daniel Stenberg
committed
if(!req.open) {
logmsg("instructed to close connection after server-reply");
break;
}
Daniel Stenberg
committed
if(req.open)
logmsg("=> persistant connection request ended, awaits new request");
/* if we got a CONNECT, loop and get another request as well! */
Daniel Stenberg
committed
} while(req.open || (req.testno == DOCNUMBER_CONNECT));
sclose(msgsock);
Daniel Stenberg
committed
if (req.testno == DOCNUMBER_QUIT)
break;
#ifdef CURL_SWS_FORK_ENABLED
}
#endif
sclose(sock);