| Function report | 
| Source Code: ipc\shm.c | Create Date:2022-07-28 16:46:39 | 
| Last Modify:2020-03-17 22:58:32 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:shm_destroy
Proto:static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct ipc_namespace * | ns | |
| struct shmid_kernel * | shp | 
| 284 | shm_file = NULL | 
| 285 | shm_tot -= shm_segsz + PAGE_SIZE - 1 >> PAGE_SHIFT determines the page size | 
| 287 | shm_unlock(shp) | 
| 288 | If Not is_file_hugepages(shm_file) Then shmem_lock(shm_file, 0, mlock_user) | 
| 294 | ipc_update_pid( & shm_cprid, NULL) | 
| 295 | ipc_update_pid( & shm_lprid, NULL) | 
| 296 | ipc_rcu_putref( & shm_perm, shm_rcu_free) | 
| Name | Describe | 
|---|---|
| do_shm_rmid | Called with shm_ids.rwsem (writer) and the shp structure locked.* Only shm_ids.rwsem remains locked on exit. | 
| shm_close | |
| shm_try_destroy_orphaned | Called with ns->shm_ids(ns).rwsem locked | 
| exit_shm | Locking assumes this will only be called with task == current | 
| do_shmat | Fix shmaddr, allocate descriptor, map shm, add attach descriptor to lists.* NOTE! Despite the name, this is NOT a direct system call entrypoint. The* "raddr" thing points to kernel space, and there has to be a wrapper around* this. | 
| 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 |