函数逻辑报告 |
Source Code:ipc\sem.c |
Create Date:2022-07-27 18:21:06 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:add semadj values to semaphores, free undo structures
函数原型:void exit_sem(struct task_struct *tsk)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct task_struct * | tsk |
| 2303 | 如果非ulp则返回 |
| 2305 | undo_list = NULL |
| 2310 | 循环 |
| 2316 | cond_resched() |
| 2319 | un等于list_entry_rcu - get the struct for this entry*@ptr: the &struct list_head pointer(链表后项, structsem_undo, list_proc) |
| 2333 | 加自旋锁 |
| 2335 | 自旋锁解锁 |
| 2338 | 如果semid恒等于负1则 |
| 2343 | sma等于sem_obtain_object_check(ipc_ns, semid) |
| 2345 | 如果是错误则 |
| 2353 | sem_unlock(sma, - 1) |
| 2355 | 继续下一循环 |
| 2357 | un等于__lookup_undo(ulp, semid) |
| 2358 | 如果(un == NULL)则 |
| 2362 | sem_unlock(sma, - 1) |
| 2364 | 继续下一循环 |
| 2369 | 删除链表项 |
| 2371 | 加自旋锁 |
| 2372 | 删除不需要重新初始化的列表项 |
| 2373 | 自旋锁解锁 |
| 2376 | 以i小于. of semaphores in array 循环 |
| 2378 | 如果array of adjustments [i]则 |
| 2379 | current value 加等于array of adjustments [i] |
| 2393 | 如果current value 小于0则current value 等于0 |
| 2402 | sem_unlock(sma, - 1) |
| 2408 | 释放内存 |
| 名称 | 描述 |
|---|---|
| ksys_unshare | share allows a process to 'unshare' part of the process* context which was originally shared using clone. copy_** functions used by do_fork() cannot be used here directly* because they modify an inactive task_struct that is being* constructed |
| do_exit | |
| ipcns_install | |
| copy_process | 创建进程 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |