On Thu, 2007-08-02 at 15:47 +0200, Peter Zijlstra wrote: > On Thu, 2007-08-02 at 16:04 +0400, Alexey Dobriyan wrote: > > On 8/2/07, Miklos Szeredi <[EMAIL PROTECTED]> wrote: > > > The linux kernel doesn't have a type safe object allocator a-la new() > > > in C++ or g_new() in glib. > > > > > > Introduce two helpers for this purpose: > > > > > > alloc_struct(type, gfp_flags); > > > > > > zalloc_struct(type, gfp_flags); > > > > ick. > > > > > These macros take a type name (usually a 'struct foo') as first > > > argument > > > > So one has to type struct twice. > > thrice in some cases like alloc_struct(struct task_struct, GFP_KERNEL)
Save the explicit "struct" and put it into the macro (and force people to not use typedefs). #define alloc_struct(type, flags) ((type *)kmalloc(sizeof(struct type), (flags))) Obious drawback: We may need alloc_union(). SCNR ... Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/