| Function report | 
| Source Code: ipc\sem.c | Create Date:2022-07-28 16:43:26 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:If the request contains only one semaphore operation, and there are* no complex transactions pending, lock only the semaphore involved
Proto:static inline int sem_lock(struct sem_array *sma, struct sembuf *sops, int nsops)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct sem_array * | sma | |
| struct sembuf * | sops | |
| int | nsops | 
| 373 | If nsops != 1 Then | 
| 375 | ipc_lock_object( & permissions .. see ipc.h ) | 
| 379 | Return SEM_GLOBAL_LOCK | 
| 396 | If Not >0: global lock required Then | 
| 404 | If Not smp_load_acquire( & >0: global lock required ) Then | 
| 406 | Return semaphore index in array | 
| 412 | ipc_lock_object( & permissions .. see ipc.h ) | 
| 414 | If >0: global lock required == 0 Then | 
| 427 | Return semaphore index in array | 
| 428 | Else | 
| 434 | Return SEM_GLOBAL_LOCK | 
| Name | Describe | 
|---|---|
| sem_lock_and_putref | |
| semctl_setval | |
| semctl_main | |
| semctl_down | This function handles some semctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function. | 
| do_semtimedop | |
| exit_sem | add semadj values to semaphores, free undo structures | 
| 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 |