Function report |
Source Code:ipc\msg.c |
Create Date:2022-07-28 16:41:35 |
Last Modify:2020-03-17 22:56:56 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:This function handles some msgctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function.
Proto:static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd, struct ipc64_perm *perm, int msg_qbytes)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct ipc_namespace * | ns | |
int | msqid | |
int | cmd | |
struct ipc64_perm * | perm | |
int | msg_qbytes |
386 | lock for writing |
393 | Go to out_unlock1 |
398 | err = security_msg_queue_msgctl( & q_perm, cmd) |
399 | If err Then Go to out_unlock1 |
403 | Case cmd == move resource |
404 | ipc_lock_object( & q_perm) |
407 | Go to out_up |
408 | Case cmd == set ipc_perm options |
412 | If msg_qbytes > msg_ctlmnb && Not Check operation authority Then |
415 | Go to out_unlock1 |
418 | ipc_lock_object( & q_perm) |
419 | err = pc_update_perm - update the permissions of an ipc object*@in: the permission given as input.*@out: the permission of the ipc to set. |
420 | If err Then Go to out_unlock0 |
430 | expunge_all(msq, - EAGAIN, & wake_q) |
436 | ipc_unlock_object( & q_perm) |
439 | Go to out_unlock1 |
441 | Default |
443 | Go to out_unlock1 |
446 | out_unlock0 : |
447 | ipc_unlock_object( & q_perm) |
448 | out_unlock1 : |
450 | out_up : |
452 | Return err |
Name | Describe |
---|---|
ksys_msgctl | |
compat_ksys_msgctl |
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 |