函数逻辑报告 |
Source Code:ipc\sem.c |
Create Date:2022-07-27 18:18:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:perform_atomic_semop[_slow] - Attempt to perform semaphore* operations on a given array
函数原型:static int perform_atomic_semop_slow(struct sem_array *sma, struct sem_queue *q)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct sem_array * | sma | |
struct sem_queue * | q |
635 | nsops等于umber of operations |
636 | un等于undo structure |
642 | result等于current value |
644 | 如果非sem_op且result则转到:would_block |
648 | 如果result小于0则转到:would_block |
650 | 如果result大于<= 32767 semaphore maximum value 则转到:out_of_range |
653 | 如果peration flags 按位与undo the operation on exit 则 |
656 | 如果undo小于负adjust on exit max value 减1或undo大于adjust on exit max value 则转到:out_of_range |
661 | current value 等于result |
664 | sop自减 |
668 | sop自减 |
671 | 返回:0 |
673 | out_of_range : |
675 | 转到:undo |
677 | would_block : |
678 | he operation that blocked 等于sop |
680 | 如果peration flags 按位与urn error on wait 则result等于负EAGAIN |
682 | 否则result等于1 |
685 | undo : |
686 | sop自减 |
689 | current value 减等于sem_op |
690 | 如果peration flags 按位与undo the operation on exit 则array of adjustments [semaphore index in array ]加等于sem_op |
692 | sop自减 |
695 | 返回:result |
名称 | 描述 |
---|---|
perform_atomic_semop |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |