| Function report | 
| Source Code: ipc\mqueue.c | Create Date:2022-07-28 16:50:56 | 
| Last Modify:2020-03-17 23:00:47 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Puts current task to sleep. Caller must hold queue lock. After return* lock isn't held.
Proto:static int wq_sleep(struct mqueue_inode_info *info, int sr, ktime_t *timeout, struct ext_wait_queue *ewp)__releases(&info->lock)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct mqueue_inode_info * | info | |
| int | sr | SEND or RECV | 
| ktime_t * | timeout | |
| struct ext_wait_queue * | ewp | 
| 648 | cycle | 
| 651 | spin_unlock( & lock) | 
| 652 | time = schedule_hrtimeout_range_clock - sleep until timeout*@expires: timeout value (ktime_t)*@delta: slack in expires timeout (ktime_t)*@mode: timer mode*@clock_id: timer clock to be used | 
| 655 | If one of STATE_* values == STATE_READY Then | 
| 660 | If one of STATE_* values == STATE_READY Then | 
| 661 | retval = 0 | 
| 662 | Go to out_unlock | 
| 664 | If signal_pending(current process) Then | 
| 666 | Break | 
| 668 | If time == 0 Then | 
| 674 | out_unlock : | 
| 675 | spin_unlock( & lock) | 
| 676 | out : | 
| 677 | Return retval | 
| Name | Describe | 
|---|---|
| do_mq_timedsend | |
| do_mq_timedreceive | 
| 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 |