Function report | 
Source Code:fs\pipe.c | 
Create Date:2022-07-28 20:04:28 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:pipe_read
Proto:static ssize_t pipe_read(struct kiocb *iocb, struct iov_iter *to)
Type:ssize_t
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct kiocb * | iocb | |
| struct iov_iter * | to | 
| 286 | total_len = iov_iter_count(to) | 
| 293 | If Value for the false possibility is greater at compile time(total_len == 0) Then Return 0 | 
| 296 | ret = 0 | 
| 297 | __pipe_lock(pipe) | 
| 307 | was_full = pipe_full - Return true if the pipe is full*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer*@limit: The maximum amount of slots available. | 
| 308 | cycle | 
| 322 | error = pipe_buf_confirm - verify contents of the pipe buffer*@pipe: the pipe that the buffer belongs to*@buf: the buffer to confirm | 
| 323 | If error Then | 
| 340 | If flags & ad() as a packet Then | 
| 345 | If Not len Then | 
| 353 | If Not total_len Then Break | 
| 359 | If Not writers Then Break | 
| 361 | If ret Then Break | 
| 363 | If f_flags & O_NONBLOCK Then | 
| 367 | __pipe_unlock(pipe) | 
| 387 | wake_up_interruptible_sync_poll( & wait, EPOLLOUT | EPOLLWRNORM) | 
| 400 | __pipe_lock(pipe) | 
| 403 | __pipe_unlock(pipe) | 
| 405 | If was_full Then | 
| 406 | wake_up_interruptible_sync_poll( & wait, EPOLLOUT | EPOLLWRNORM) | 
| 409 | If ret > 0 Then file_accessed(filp) | 
| 411 | Return ret | 
| 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  |