Subject: Re: writing symlinking article file problem

From: [email-masked] (David Myers)
Date: 28 Jan 1994 16:04:59 GMT

In <[email-masked]>
	[email-masked] (Heiko W.Rupp) writes:

 > When inn is throttled, those rmgroups could perhaps be handled different,
 > than with a running server so that one could do this mass updates at full
 > speed.

In article <[email-masked]>
	[email-masked] (Rich Salz) writes:

 > This is a bug that I know how to fix.  It will be fixed in 1.5.

   Here's an unofficial patch to 1.4 so that running multiple rmgroups
while throttled doesn't munge the active file.  This patch doesn't
represent the best solution available, but should hold you over until
1.5 fixes the problem for good.

--
*** icd.c.orig	Mon Apr 26 11:30:50 1993
--- icd.c	Mon Apr 26 12:33:22 1993
***************
*** 74,82 ****
  ICDsetup(StartSites)
      BOOL	StartSites;
  {
!     ICDneedsetup = FALSE;
!     ICDcloseactive();
!     NGparsefile();
      if (NGfind("control") == NULL || NGfind("junk") == NULL) {
  	syslog(L_FATAL, "%s internal no control and/or junk group", LogName);
  	exit(1);
--- 74,86 ----
  ICDsetup(StartSites)
      BOOL	StartSites;
  {
!     if (ICDneedsetup == TRUE) {
! 	ICDneedsetup = FALSE;
!     }
!     else {
! 	ICDcloseactive();
! 	NGparsefile();
!     }
      if (NGfind("control") == NULL || NGfind("junk") == NULL) {
  	syslog(L_FATAL, "%s internal no control and/or junk group", LogName);
  	exit(1);
***************
*** 151,157 ****
      static char		BACKUP[] = _PATH_OLDACTIVE;
      static char		WHEN[] = "backup active";
      register int	fd;
-     char		*dummy;
  
      /* Write the current file to a backup. */
      if (unlink(BACKUP) < 0 && errno != ENOENT) {
--- 155,160 ----
***************
*** 200,206 ****
      if (Mode != OMrunning) {
  	ICDneedsetup = TRUE;
  	/* Force the active file into memory. */
! 	(void)ICDreadactive(&dummy);
      }
      else
  	ICDsetup(TRUE);
--- 203,209 ----
      if (Mode != OMrunning) {
  	ICDneedsetup = TRUE;
  	/* Force the active file into memory. */
! 	NGparsefile();
      }
      else
  	ICDsetup(TRUE);
--
David Myers                                             (513) 865-1343   
Mead Data Central                                  Fabrication Systems
P.O. Box 933                                          [email-masked]
Dayton, Ohio  45401                            [email-masked]