thread_info.h

来自「linux 内核源代码」· C头文件 代码 · 共 85 行

H
85
字号
/* thread_info.h: common low-level thread information accessors * * Copyright (C) 2002  David Howells (dhowells@redhat.com) * - Incorporating suggestions made by Linus Torvalds */#ifndef _LINUX_THREAD_INFO_H#define _LINUX_THREAD_INFO_H#include <linux/types.h>/* * System call restart block. */struct restart_block {	long (*fn)(struct restart_block *);	union {		struct {			unsigned long arg0, arg1, arg2, arg3;		};		/* For futex_wait */		struct {			u32 *uaddr;			u32 val;			u32 flags;			u64 time;		} futex;	};};extern long do_no_restart_syscall(struct restart_block *parm);#include <linux/bitops.h>#include <asm/thread_info.h>#ifdef __KERNEL__/* * flag set/clear/test wrappers * - pass TIF_xxxx constants to these functions */static inline void set_ti_thread_flag(struct thread_info *ti, int flag){	set_bit(flag,&ti->flags);}static inline void clear_ti_thread_flag(struct thread_info *ti, int flag){	clear_bit(flag,&ti->flags);}static inline int test_and_set_ti_thread_flag(struct thread_info *ti, int flag){	return test_and_set_bit(flag,&ti->flags);}static inline int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag){	return test_and_clear_bit(flag,&ti->flags);}static inline int test_ti_thread_flag(struct thread_info *ti, int flag){	return test_bit(flag,&ti->flags);}#define set_thread_flag(flag) \	set_ti_thread_flag(current_thread_info(), flag)#define clear_thread_flag(flag) \	clear_ti_thread_flag(current_thread_info(), flag)#define test_and_set_thread_flag(flag) \	test_and_set_ti_thread_flag(current_thread_info(), flag)#define test_and_clear_thread_flag(flag) \	test_and_clear_ti_thread_flag(current_thread_info(), flag)#define test_thread_flag(flag) \	test_ti_thread_flag(current_thread_info(), flag)#define set_need_resched()	set_thread_flag(TIF_NEED_RESCHED)#define clear_need_resched()	clear_thread_flag(TIF_NEED_RESCHED)#endif#endif /* _LINUX_THREAD_INFO_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?