Re: Incoming host state file

2003-01-21 Thread Egil Kvaleberg
On Mon, 2003-01-13 at 18:31, Triebwasser, Mark wrote:
 When does an update occur for the incoming host state file?

Good question. Probably only when the run is finished.

It would presumably be a good idea to change this so that the state is
updated every time a new spool file is collected. That way one could
control how often state is updated by setting the spool file size.

I will have a look.

Egil
-- 
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.



Re: Incoming host state file

2003-01-21 Thread Egil Kvaleberg
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.