Re: Compiling C++ modules

Bongani Hlope
2006-04-25T20:11:56Z

On Tuesday 25 April 2006 18:46, Avi Kivity wrote:
> Should you want to allocate from the heap, try this:
>
> {
> spinlock_t::guard g(some_lock);
> auto_ptr<Foo> item(new (gfp_mask) Foo); /* or pass a kmem_cache_t */
> item->do_something();
> item->do_something_else();
> return item.release();
> }
>

I love C++, but you have to stop it now. Imagine how many auto_ptr<Foo> will
you use inside your kernel. The compiler will need to create a separete class
for each. Using templates in the kernel will be plain silly.