Re: Compiling C++ modules

From: Avi Kivity
Date: Tue Apr 25 2006 - 16:26:21 EST


Bongani Hlope wrote:
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.
auto_ptr<>'s are fully inlined so their impact is nil.

(And actually I dislike C++, it only looks good next to C)

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/