mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-10-20 22:42:40 +08:00
Adapt rt_channel, increase the generality of some rt_channel functionality on dfs v2, and standardize signalfd (#8047)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user