[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Router locking mechanism breaks




(talking about strange router interlock problem)
> > The reason for this breakage may become revealed with following:
> > 	zmailer-src> egrep RENAME config.h
> > 
> > If it is: "#define HAVE_RENAME 1"  then I am rather mystified.
> 
> Yes, HAVE_RENAME is #defined.
> 
> I'm also mystified for that.  Two router processes pick the same message file
> and put 2 seperate pairs of control file and message file in transport/ and
> queue/ directories respectively and eventually duplicate mail are received.
> 
> Is rename() in Solaris 5.5 broken?  Any help if I #undef HAVE_RENAME and let
> the program choose link() and unlink() instead.   I think I'll try for that
> anyway.

	I just spent a moment reading thru   router/functions.c, where
	there are call-trees:
		run_daemon()
			either: rd_stability()
			or:     rd_instability()
					rd_doit()
						rename()

	That is, the top-level is "run_daemon()", which indirectly calls
	routine   rd_doit()  that triggers lock acquisition by means of
	rename() routine.

	All the time the proposal that Solaris has its rename() multi-
	threaded a bit too well is more and more tempting explanation..

> BTW, it seems the version has been upgraded to 2.99.43b.  Mea,  Has you
> handled the problem in somewhere between 39 - 43b?   If so,  I'd rather try
> for that new version. (Actually, I was quite happy with .38's stability
> except this annoying bug! :(

	This problem ?  No, I haven't seen it manifest anywhere, thus
	I haven't had changes to debug it..

> > > =======================================================================
> > > Lai Yiu Fai                       |  Tel.:       (852) 2358-6202
> > >  & Telecommunications             |  E-mail:     ccyflai@uxmail.ust.hk
> > 
> > 	/Matti Aarnio <mea@utu.fi> <mea@nic.funet.fi>

	/Matti Aarnio