未验证 提交 e9d93007 编写于 作者: D David Lin 提交者: GitHub

Update pipe.c

上级 ff09587d
......@@ -323,8 +323,14 @@ static const struct dfs_file_ops pipe_fops =
rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag)
{
rt_pipe_t *pipe = (rt_pipe_t *)device;
rt_err_t ret = RT_EOK;
if (device == RT_NULL) return -RT_EINVAL;
if (device == RT_NULL)
{
ret = -RT_EINVAL;
goto __exit;
}
rt_mutex_take(&(pipe->lock), RT_WAITING_FOREVER);
if (pipe->fifo == RT_NULL)
......@@ -332,14 +338,14 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag)
pipe->fifo = rt_ringbuffer_create(pipe->bufsz);
if (pipe->fifo == RT_NULL)
{
rt_mutex_release(&(pipe->lock));
return -RT_ENOMEM;
ret = -RT_ENOMEM;
}
}
rt_mutex_release(&(pipe->lock));
return RT_EOK;
__exit:
return ret;
}
rt_err_t rt_pipe_close (rt_device_t device)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册