fs: move out nx_close from filelock

Change-Id: Ia6c4ec88d90db0330134d0aaa30e94cb71c8a066
Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
ligd
2021-06-24 22:06:29 +08:00
committed by liguiding1
parent dcea2afd7e
commit 03b7bd9cf1
+8 -3
View File
@@ -484,6 +484,8 @@ int dup2(int fd1, int fd2)
int nx_close(int fd)
{
FAR struct filelist *list;
FAR struct file *filep;
FAR struct file file;
int ret;
/* Get the thread-specific file list. It should never be NULL in this
@@ -511,11 +513,14 @@ int nx_close(int fd)
return -EBADF;
}
ret = file_close(&list->fl_files[fd / CONFIG_NFILE_DESCRIPTORS_PER_BLOCK]
[fd % CONFIG_NFILE_DESCRIPTORS_PER_BLOCK]);
filep = &list->fl_files[fd / CONFIG_NFILE_DESCRIPTORS_PER_BLOCK]
[fd % CONFIG_NFILE_DESCRIPTORS_PER_BLOCK];
memcpy(&file, filep, sizeof(struct file));
memset(filep, 0, sizeof(struct file));
_files_semgive(list);
return ret;
return file_close(&file);
}
/****************************************************************************