why use while(0) to write set_current_state

Anish Kumar anish198519851985 at gmail.com
Wed Jun 17 01:15:36 EDT 2015





> On Jun 16, 2015, at 10:01 PM, 慕冬亮 <mudongliangabcd at gmail.com> wrote:
> 
> I see the macro in the include/linux/sched.h
> #define __set_current_state(state_value)			\
> 	do { current->state = (state_value); } while (0)
> 
> Why define it like this? What's the meaning of while?

Read this and you will know why.
http://kernelnewbies.org/FAQ/DoWhile0

> mudongliang 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list