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