函数逻辑报告 |
Source Code:kernel\futex.c |
Create Date:2022-07-27 11:54:34 |
Last Modify:2020-03-17 15:28:32 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:ex_wait_setup() - Prepare to wait on a futex*@uaddr: the futex userspace address*@val: the expected value*@flags: futex flags (FLAGS_SHARED, etc.)*@q: the associated futex_q*@hb: storage for hash_bucket pointer to be returned to caller
函数原型:static int futex_wait_setup(unsigned int __user *uaddr, unsigned int val, unsigned int flags, struct futex_q *q, struct futex_hash_bucket **hb)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
unsigned int __user * | uaddr | |
unsigned int | val | |
unsigned int | flags | |
struct futex_q * | q | |
struct futex_hash_bucket ** | hb |
2751 | retry : |
2753 | 如果此条件成立可能性小(为编译器优化)(ret != 0)则返回:ret |
2756 | retry_private : |
2759 | ret等于get_futex_value_locked( & uval, uaddr) |
2761 | 如果ret则 |
2762 | queue_unlock( * hb) |
2764 | ret等于Careful: we have to cast the result to the type of the pointer* for sign reasons(uval, uaddr) |
2768 | 如果非flags按位与Futex flags used to encode options to functions and preserve them across* restarts.的值则转到:retry_private |
2771 | put_futex_key( & key) |
2772 | 转到:retry |
2776 | queue_unlock( * hb) |
2777 | ret等于负EWOULDBLOCK |
2780 | out : |
2781 | 如果ret则put_futex_key( & key) |
2783 | 返回:ret |
名称 | 描述 |
---|---|
futex_wait | |
futex_wait_requeue_pi | ex_wait_requeue_pi() - Wait on uaddr and take uaddr2*@uaddr: the futex we initially wait on (non-pi)*@flags: futex flags (FLAGS_SHARED, FLAGS_CLOCKRT, etc |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |