函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |