From dem@meaddata.com Fri Jan 28 12:57:23 EST 1994
Article: 847 of news.software.b
Path: news.pop.psu.edu!news.cac.psu.edu!howland.reston.ans.net!europa.eng.gtefsd.com!nic.hookup.net!news.kei.com!ddsw1!meaddata!dem
From: dem@meaddata.com (David Myers)
Newsgroups: news.software.b
Subject: Re: writing symlinking article file problem
Date: 28 Jan 1994 16:04:59 GMT
Organization: Mead Data Central, Dayton OH
Lines: 77
Message-ID: <2ibd3b$3qr@meaddata.meaddata.com>
References: <1994Jan21.142337.26371@jupiter.sun.csd.unb.ca>
	<2hukou$c3i@pilhuhn.pilhuhn.sub.org> <2i16tk$gpo@kei.com>
	<2i3g5f$10e@snert.pilhuhn.sub.org> <2i8igeINN1ku@rodan.UU.NET>
NNTP-Posting-Host: devil.meaddata.com

In <2i3g5f$10e@snert.pilhuhn.sub.org>
	hwr@pilhuhn.sub.org (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 <2i8igeINN1ku@rodan.UU.NET>
	rsalz@uunet.uu.net (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                                          dem@meaddata.com
Dayton, Ohio  45401                            ab259@dayton.wright.edu


