cvs commit: src/sys/kern kern_timeout.c src/sys/sys callout.h src/share/man/man9 timeout.9

John Baldwin jhb at FreeBSD.org
Wed Apr 7 12:47:50 PDT 2004


On Tuesday 06 April 2004 07:52 pm, Colin Percival wrote:
> >>  int callout_stop(struct callout *);
> >> +#define      callout_stop(c)         _callout_stop_safe(c, 0)
> >
> >The goal here is to keep binary compatibility (multiple defines of
> >callout_stop)?
>
>   The goal was binary compatibility; the callout_stop prototype was
> still here because gcc complained while compiling kern_timeout.c
> otherwise.  If there's a better solution, please let me know.

You could move the prototype into kern_timeout.c to avoid having any code use 
it by accident.  For what it's worth, I don't think preserving binary 
compatibility with 5.[012] is worth it for this function.  I'd just axe the 
old one altogether.

> >Are you
> >going to remove that shim at some point?  Perhaps a BURN_BRIDGES or
> >GONE_IN_6 ifdef would be appropriate for that.
>
>   I think this shim can be removed as soon as any modules which know
> about callout_stop have been recompiled; I doubt it will take long
> before someone makes a change which requires that to happen.  :-)

They all just got recompiled because callout.h changed.  3rd party modules 
will all be recompiled for 5.3 anyway, so I would recommend just going ahead 
and axeing it now.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list