函数逻辑报告 |
Source Code:ipc\mqueue.c |
Create Date:2022-07-27 18:25:30 |
| Last Modify:2020-03-17 23:00:47 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:msg_get
函数原型:static inline struct msg_msg *msg_get(struct mqueue_inode_info *info)
返回类型:struct msg_msg
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct mqueue_inode_info * | info |
| 195 | try_again : |
| 201 | parent等于msg_tree_rightmost |
| 202 | 如果非parent则 |
| 203 | 如果 number of messages currently queued 则 |
| 204 | pr_warn_once("Inconsistency in POSIX message queue, no tree element, but supposedly messages should exist!\n") |
| 209 | 返回:NULL |
| 211 | leaf等于rb_entry(parent, structposix_msg_tree_node, rb_node) |
| 212 | 如果此条件成立可能性小(为编译器优化)(链表为空)则 |
| 213 | pr_warn_once("Inconsistency in POSIX message queue, empty leaf node but we haven't implemented lazy leaf delete!\n") |
| 216 | msg_tree_erase(leaf, info) |
| 217 | 转到:try_again |
| 218 | 否则 |
| 221 | 删除链表项 |
| 222 | 如果链表为空则 |
| 223 | msg_tree_erase(leaf, info) |
| 228 | 返回:msg |
| 名称 | 描述 |
|---|---|
| mqueue_evict_inode | |
| do_mq_timedreceive |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |