Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Mar 2006 00:07:39 -0800
From:      Jason Evans <jasone@FreeBSD.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        freebsd-arch@FreeBSD.org
Subject:   Re: Proposed addition of malloc_size_np()
Message-ID:  <4424FA4B.5080201@FreeBSD.org>
In-Reply-To: <62732.1143272796@critter.freebsd.dk>
References:  <62732.1143272796@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote:
> In message <44247DF1.8000002@FreeBSD.org>, Jason Evans writes:
> 
>>=== Proposal ===
>>Add malloc_size_np() to libc, and provide the prototype in malloc_np.h:
>>
>>	size_t
>>	malloc_size_np(const void *ptr);
> 
> 
> I'm for the concept, but wonder if it would be smarter to make it
> 
> 	void *
> 	malloc_np(size_t, size_t *)
> 
> so we can do it in one go ?

I can see how this would be useful, but I don't think it completely 
replaces the use case for malloc_size_np(), which can be useful at other 
times than allocation/deallocation (ex: assertions that detect buffer 
overflow).  Also, if we add malloc_np(), for completeness we should also 
provide:

void *
calloc_np(size_t size, size_t *size_ceil);

void *
realloc_np(void *ptr, size_t size, size_t *size_ceil);

(Let's ignore posix_memalign() here.)

size_t
free_np(void *ptr);

Given that these functions are essentially the (somewhat higher 
performance) fusion of two function calls, it isn't clear to me whether 
it's worth adding several extra functions.  Personally, I would use them 
if they were available, but I'm not sure if they would be broadly 
useful.  Thoughts?

Thanks,
Jason




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4424FA4B.5080201>