[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
more or less acceptable patch for smtp.c
Hi,
This is more or less acceptable solution for the bug I have
mentioned before. Although I think some safeguard has to be put into
scheduler/threads.c:pick_next_vertex
alexis
*** smtp.c 1997/08/22 12:22:27 1.1
--- smtp.c 1997/08/22 15:13:08
***************
*** 572,577 ****
--- 572,578 ----
char *channel = NULL, *host = NULL;
int i, fd, errflg, c, smtpstatus;
int need_host = 0;
+ int skip_host = 0;
int idle;
int noMX = 0;
SmtpState SS;
***************
*** 808,814 ****
#if !(defined(HAVE_MMAP) && defined(TA_USE_MMAP))
readalready = 0; /* internal body read buffer 'flush' */
#endif
! idle = 0;
if (strchr(file, '\n') == NULL) break; /* No ending '\n' ! Must
have been partial input! */
if (logfp) {
--- 809,815 ----
#if !(defined(HAVE_MMAP) && defined(TA_USE_MMAP))
readalready = 0; /* internal body read buffer 'flush' */
#endif
! idle = 0; skip_host = 0;
if (strchr(file, '\n') == NULL) break; /* No ending '\n' ! Must
have been partial input! */
if (logfp) {
***************
*** 836,842 ****
if (logfp && verbosity > 1) {
fprintf(logfp,"%s#\t(too soon trying to touch on host with 'retryat' diagnostic -- flushing job queue..host='%s')\n",logtag(),host);
}
! continue;
}
}
--- 837,843 ----
if (logfp && verbosity > 1) {
fprintf(logfp,"%s#\t(too soon trying to touch on host with 'retryat' diagnostic -- flushing job queue..host='%s')\n",logtag(),host);
}
! ++skip_host;
}
}
***************
*** 904,910 ****
if ((first_uid = atoi(dp->senders->misc)) < 0 ||
first_uid == nobody)
first_uid = daemon_uid;
! smtpstatus = smtpopen(&SS, smtphost, noMX);
if (smtpstatus != EX_OK) {
/* SMTPOPEN() made diagnostics data -- we report.. */
struct rcpt *rp;
--- 905,912 ----
if ((first_uid = atoi(dp->senders->misc)) < 0 ||
first_uid == nobody)
first_uid = daemon_uid;
! if(!skip_host)
! smtpstatus = smtpopen(&SS, smtphost, noMX);
if (smtpstatus != EX_OK) {
/* SMTPOPEN() made diagnostics data -- we report.. */
struct rcpt *rp;
--
Don't question why she needs to be so free...