PERFORCE change 71656 for review

Tom Rhodes trhodes at FreeBSD.org
Wed Feb 23 19:42:09 GMT 2005


On Wed, 23 Feb 2005 12:38:02 -0500
John Baldwin <jhb at freebsd.org> wrote:

> On Wednesday 23 February 2005 06:58 am, Robert Watson wrote:
> > http://perforce.freebsd.org/chv.cgi?CH=71656
> >
> > Change 71656 by rwatson at rwatson_paprika on 2005/02/23 11:58:23
> >
> > 	If oldp is set, sysctl returns the value of a MIB entry before
> > 	modification, rather than after.
> 
> This is kind of wrong.  I tried to explain to Tom what should be done but he 
> didn't really get it.  The correct order of operations should be this:
> 
> 	SYSCTL_IN(&newrule);
> 	lock();
> 	oldrule = ...;
> 	update(&newrule);
> 	unlock();
> 	SYSCTL_OUT(&oldrule);
> 
> That is, the point is to do the entire read old and write new bit in a single 
> locked section.  This more closely matches how most system calls work where 
> they copyin() the arguments, perform actions, then copyout() the results.

You're right, from the previous email I didn't really get what
you were trying to say.  My bad.

-- 
Tom Rhodes


More information about the p4-projects mailing list