login
Header Space

 
 

Re: [RFC] New kernel-message logging API (take 2)

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <vegard.nossum@...>
Cc: <linux@...>, <linux-kernel@...>
Date: Thursday, September 27, 2007 - 9:38 pm

> Example: {

Assuming that kprint_block_flush() is a combination of
kprint_block_printit() and kprint_block_abort(), you
coulld make a macro wrapper for this to preclude leaks:

#define KPRINT_BLOCK(block, level, code) \
do { \
	struct kprint_block block; \
	kprint_block_init(&block, KPRINT_##level); \
	do { \
		code ; \
		kprint_block_printit(&block); \
	while (0); \
	kprint_block_abort(&block); \
} while(0)

The inner do { } while(0) region is so you can abort with "break".

(Or you can split it into KPRINT_BEGIN() and KPRINT_END() macros,
if that works out to be cleaner.)
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] New kernel-message logging API (take 2), Vegard Nossum, (Thu Sep 27, 5:18 pm)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 8:11 am)
Re: [RFC] New kernel-message logging API (take 2), Rob Landley, (Fri Sep 28, 12:30 pm)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 12:41 pm)
Re: [RFC] New kernel-message logging API (take 2), Miguel Ojeda, (Fri Sep 28, 9:30 am)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 9:55 am)
Re: [RFC] New kernel-message logging API (take 2), Miguel Ojeda, (Fri Sep 28, 10:00 am)
Re: [RFC] New kernel-message logging API (take 2), Jan Engelhardt, (Fri Sep 28, 5:45 am)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 7:59 am)
Re: [RFC] New kernel-message logging API (take 2), Geert Uytterhoeven, (Fri Sep 28, 3:31 am)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 7:46 am)
Re: [RFC] New kernel-message logging API (take 2), Kyle Moffett, (Fri Sep 28, 3:44 am)
Re: [RFC] New kernel-message logging API (take 2), Vegard Nossum, (Fri Sep 28, 7:49 am)
Re: [RFC] New kernel-message logging API (take 2), , (Thu Sep 27, 9:38 pm)
speck-geostationary