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