| Function report | 
| Source Code: ipc\sem.c | Create Date:2022-07-28 16:45:51 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:add semadj values to semaphores, free undo structures
Proto:void exit_sem(struct task_struct *tsk)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct task_struct * | tsk | 
| 2303 | If Not ulp Then Return | 
| 2305 | undo_list = NULL | 
| 2310 | cycle | 
| 2316 | cond_resched() | 
| 2319 | un = list_entry_rcu - get the struct for this entry*@ptr: the &struct list_head pointer(next, structsem_undo, list_proc) | 
| 2329 | spin_unlock( & lock) | 
| 2331 | Break | 
| 2334 | semid = semaphore set identifier | 
| 2335 | spin_unlock( & lock) | 
| 2338 | If semid == -1 Then | 
| 2343 | sma = sem_obtain_object_check(ipc_ns, semid) | 
| 2353 | sem_unlock(sma, - 1) | 
| 2355 | Continue | 
| 2357 | un = __lookup_undo(ulp, semid) | 
| 2358 | If (un == NULL) Then | 
| 2362 | sem_unlock(sma, - 1) | 
| 2364 | Continue | 
| 2373 | spin_unlock( & lock) | 
| 2376 | When i < . of semaphores in array cycle | 
| 2378 | If array of adjustments [i] Then | 
| 2379 | current value += array of adjustments [i] | 
| 2393 | If current value < 0 Then current value = 0 | 
| 2402 | sem_unlock(sma, - 1) | 
| Name | Describe | 
|---|---|
| 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 | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |