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 |