Adapt rt_channel, increase the generality of some rt_channel functionality on dfs v2, and standardize signalfd (#8047)

This commit is contained in:
zmq810150896
2023-09-20 07:54:11 +08:00
committed by GitHub
parent 2ff1a1a4c9
commit 092b52ab24
6 changed files with 99 additions and 32 deletions

View File

@@ -1,11 +1,12 @@
/*
* Copyright (c) 2006-2020, RT-Thread Development Team
* Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2019-10-12 Jesven first version
* 2023-09-16 zmq810150896 Increased versatility of some features on dfs v2
*/
#include <rtthread.h>
#include <rthw.h>
@@ -371,7 +372,7 @@ static void *_ipc_msg_get_file(int fd)
return RT_NULL;
d->vnode->ref_count++;
return (void *)d->vnode;
return (void *)d;
}
/**
@@ -381,7 +382,14 @@ static int _ipc_msg_fd_new(void *file)
{
int fd;
struct dfs_file *d;
struct dfs_vnode *vnode = (struct dfs_vnode *)file;
struct dfs_file *df = RT_NULL;
if (file == RT_NULL)
{
return -1;
}
df = (struct dfs_file *)file;
fd = fd_new();
if (fd < 0)
@@ -397,11 +405,15 @@ static int _ipc_msg_fd_new(void *file)
}
#ifdef RT_USING_DFS_V2
d->fops = vnode->fops;
d->fops = df->fops;
d->mode = df->mode;
d->dentry = df->dentry;
#endif
d->vnode = vnode;
d->flags = O_RDWR; /* set flags as read and write */
d->vnode = df->vnode;
d->flags = df->flags;
d->data = df->data;
d->magic = df->magic;
return fd;
}