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 |