Function report |
Source Code:fs\file.c |
Create Date:2022-07-28 20:08:31 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Allocate a new files structure and copy contents from the* passed in files structure.* errorp will be valid only when the returned files_struct is NULL.
Proto:struct files_struct *dup_fd(struct files_struct *oldf, int *errorp)
Type:struct files_struct
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct files_struct * | oldf | |
| int * | errorp |
| 284 | atomic_set( & ad mostly part, 1) |
| 287 | resize_in_progress = false |
| 288 | init_waitqueue_head( & resize_wait) |
| 289 | next_fd = 0 |
| 291 | max_fds = The default fd array needs to be at least BITS_PER_LONG,* as this is the granularity returned by copy_fdset(). |
| 293 | open_fds = open_fds_init |
| 295 | current fd array = fd_array[0] |
| 298 | old_fdt = files_fdtable(oldf) |
| 299 | open_files = count_open_files(old_fdt) |
| 307 | If new_fdt != fdtab Then __free_fdtable(new_fdt) |
| 310 | new_fdt = alloc_fdtable(open_files - 1) |
| 311 | If Not new_fdt Then |
| 313 | Go to out_release |
| 329 | old_fdt = files_fdtable(oldf) |
| 330 | open_files = count_open_files(old_fdt) |
| 335 | old_fds = current fd array |
| 336 | new_fds = current fd array |
| 356 | memset(new_fds, 0, (max_fds - open_files) * size of * ) |
| 360 | Return newf |
| 362 | out_release : |
| 364 | out : |
| 365 | Return NULL |
| Name | Describe |
|---|---|
| unshare_fd | Unshare file descriptor table if it is being shared |
| 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 |