45 if ((files == NULL) || (files->
fdt == NULL)) {
49 for (
int i = 0; i < files->
fdt->
max_fds; i++) {
struct fd_table_s * GetFdTable(void)
获取进程文件描述符表
void FileTableLock(struct fd_table_s *fdt)
对进程文件表操作上锁
void FileTableUnLock(struct fd_table_s *fdt)
对进程文件表操作解锁
unsigned int max_fds
进程的文件描述符最多有256个
fd_set * proc_fds
进程fd管理位,用bitmap管理FD使用情况,默认打开了 0,1,2 (stdin,stdout,stderr)
struct fd_table_s * fdt
持有的文件表
void SetCloexecFlag(int procFd)
void CloseOnExec(struct files_struct *files)
bool CheckCloexecFlag(int procFd)
void ClearCloexecFlag(int procFd)
void FreeProcessFd(int procFd)
释放进程文件描述符
int DisassociateProcessFd(int procFd)
解绑系统文件描述符,返回系统文件描述符