| Function report | 
| Source Code: kernel\futex.c | Create Date:2022-07-28 10:55:08 | 
| Last Modify:2020-03-17 15:28:32 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:do_futex
Proto:long do_futex(unsigned int __user *uaddr, int op, unsigned int val, ktime_t *timeout, unsigned int __user *uaddr2, unsigned int val2, unsigned int val3)
Type:long
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| unsigned int __user * | uaddr | |
| int | op | |
| unsigned int | val | |
| ktime_t * | timeout | |
| unsigned int __user * | uaddr2 | |
| unsigned int | val2 | |
| unsigned int | val3 | 
| 3854 | cmd = op & FUTEX_CMD_MASK | 
| 3855 | flags = 0 | 
| 3857 | If Not (op & FUTEX_PRIVATE_FLAG) Then flags |= Futex flags used to encode options to functions and preserve them across* restarts. | 
| 3860 | If op & FUTEX_CLOCK_REALTIME Then | 
| 3861 | flags |= FLAGS_CLOCKRT | 
| 3863 | If cmd != Second argument to futex syscall && cmd != FUTEX_WAIT_BITSET && cmd != FUTEX_WAIT_REQUEUE_PI Then Return -ENOSYS | 
| 3868 | Case cmd == FUTEX_LOCK_PI | 
| 3869 | Case cmd == FUTEX_UNLOCK_PI | 
| 3870 | Case cmd == FUTEX_TRYLOCK_PI | 
| 3871 | Case cmd == FUTEX_WAIT_REQUEUE_PI | 
| 3872 | Case cmd == FUTEX_CMP_REQUEUE_PI | 
| 3873 | If Not futex_cmpxchg_enabled Then Return -ENOSYS | 
| 3878 | Case cmd == Second argument to futex syscall | 
| 3881 | Case cmd == FUTEX_WAIT_BITSET | 
| 3883 | Case cmd == FUTEX_WAKE | 
| 3886 | Case cmd == FUTEX_WAKE_BITSET | 
| 3888 | Case cmd == FUTEX_REQUEUE | 
| 3890 | Case cmd == FUTEX_CMP_REQUEUE | 
| 3892 | Case cmd == FUTEX_WAKE_OP | 
| 3894 | Case cmd == FUTEX_LOCK_PI | 
| 3896 | Case cmd == FUTEX_UNLOCK_PI | 
| 3898 | Case cmd == FUTEX_TRYLOCK_PI | 
| 3900 | Case cmd == FUTEX_WAIT_REQUEUE_PI | 
| 3904 | Case cmd == FUTEX_CMP_REQUEUE_PI | 
| 3907 | Return -ENOSYS | 
| Name | Describe | 
|---|---|
| SYSCALL_DEFINE6 | 
| 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 |