On Tue, 2003-01-21 at 14:19, Egil Kvaleberg wrote:
On Mon, 2003-01-13 at 18:31, Triebwasser, Mark wrote:
When does an update occur for the incoming host state file?
I will have a look.
It seems like the intention was that the state file should be updated,
but this did not always work. In particular for large groups.
The enclosed patch should fix this
Egil
---
Index: src/pull.c
===
RCS file: /home/cvs/newsx/src/pull.c,v
retrieving revision 1.17.2.1
diff -c -r1.17.2.1 pull.c
*** src/pull.c 14 Feb 2001 06:55:40 - 1.17.2.1
--- src/pull.c 21 Jan 2003 13:41:45 -
***
*** 142,147
--- 142,152
log_msg(L_DEBUG,flushing spool...);
flush_spool(0);
bytes_in_spool = 0;
+
+ if (latest_where 0) {
+ /* checkpoint: last article retrieved */
+ *wherep = latest_where;
+ }
}
}
/* flush all remaining requests */
***
*** 156,162
*wherep = where;
} else {
log_msg(L_DEBUGMORE,transfer interrupted);
! if (latest_where) {
/* this was the last article we retieved */
*wherep = latest_where;
log_msg(L_DEBUGMORE,latest article was %ld, latest_where);
--- 161,167
*wherep = where;
} else {
log_msg(L_DEBUGMORE,transfer interrupted);
! if (latest_where 0) {
/* this was the last article we retieved */
*wherep = latest_where;
log_msg(L_DEBUGMORE,latest article was %ld, latest_where);
***
*** 189,195
}
if ((f = pull_tmp)) {
pull_tmp = 0;
! fclose(pull_tmp);
}
/* clean up and update host active */
--- 194,200
}
if ((f = pull_tmp)) {
pull_tmp = 0;
! fclose(f);
}
/* clean up and update host active */
***
*** 211,216
--- 216,222
log_msg(l_debug,renaming %s to %s,activename,active_old);
unlink(active_old);
if (!rename_file(activename,active_old)) exit_cleanup(6);
+ active_old[0] = '\0';
}
log_msg(l_debug,renaming %s to %s,active_tmp,activename);
if (!rename_file(active_tmp,activename)) exit_cleanup(6);
***
*** 330,342
ok = pull_group(group,where,1);
if (ok) ++unseen_groups;
}
if (!ok) {
fetch_aborted = 1;
skip = 1;
/* continue reading active to clean up things */
- } else if (where0 != where) {
- ++pull_anything;
- fflush(pull_tmp);
}
} else {
if (forget_inactive) {
--- 336,350
ok = pull_group(group,where,1);
if (ok) ++unseen_groups;
}
+ if (where0 != where) {
+ /* remember spooled files, always */
+ ++pull_anything;
+ fflush(pull_tmp);
+ }
if (!ok) {
fetch_aborted = 1;
skip = 1;
/* continue reading active to clean up things */
}
} else {
if (forget_inactive) {
---
--
Email: [EMAIL PROTECTED]
Voice/videophone: +47 22523641 Voice: +47 92022780 Fax: +47 22525899
Mail: Egil Kvaleberg, Husebybakken 14A, 0379 Oslo, Norway
Home: http://www.kvaleberg.com/
---
This message has been sent to you because you are subcribed to the mailing
list [EMAIL PROTECTED] To remove yourself from this lists, send an email to
[EMAIL PROTECTED] containing unsubscribe newsx your_email_address
in the message body.