cvs commit: src/usr.bin/mkfifo mkfifo.c

Liam J. Foy liamfoy at sepulcrum.org
Wed Mar 2 11:38:47 PST 2005


On Wed(02)/Mar/05 - , Chris Pressey wrote:
> On Wed, 2 Mar 2005 11:07:06 -0800 (PST)
> Matthew Dillon <dillon at xxxxxxxxxxxxxxxxxxxx> wrote:
> 
> > 
> > :
> > :liamfoy     2005/03/02 09:32:06 PST
> > :
> > :DragonFly src repository
> > :
> > :  Modified files:
> > :    usr.bin/mkfifo       mkfifo.c 
> > :  Log:
> > :  - Make sure we free() 'modep' after setmode()
> > :  - Add stdlib.h for both free() and exit()
> > :  
> > :  Revision  Changes    Path
> > :  1.5       +3 -1      src/usr.bin/mkfifo/mkfifo.c
> > :
> > :
> > :http://www.dragonflybsd.org/cvsweb/src/usr.bin/mkfifo/mkfifo.c.diff?
> > r1=1.4&r2=1.5&f=u
> > 
> >     It's about to exit, there's no reason to free(modep), it just
> >     wastes cycles unnecessarily.
> 
> There's one reason: setting a good example.  If someone, say, copies
> this code into an unbounded loop in their own program, they'll leak
> memory if they don't free modep.  Not that programmers should blindly
> copy example code without reading the appropriate manual pages, every
> little bit helps.

I actually agree here. I would much prefere to see free(). Also, wouldnt
exit() use the cycles that free() would anyway?

If this view is taken, I can show you 'MUCH' more code that does exactly
this. (Example: ln). This is why I thought it was the accepted practice.

> 
> And considering it's only one structure being freed (and not, say, a
> complicated cyclic graph-like structure), the waste of cycles involved
> in freeing it is pretty minor.
> 
> Just my 2c.
> 
> -Chris

-- 
			- Liam J. Foy
			<liamfoy at xxxxxxxxxxxxx>
			http://www.bsd-systems.co.uk





More information about the Commits mailing list