dev/pipe: call rx_indicate the time we resume reader

Some reader(FinSh again) would like to block on a semaphore which is
released in rx_indicate. So we should invoke rx_indicate in
_rt_pipe_resume_reader.
This commit is contained in:
Grissiom 2013-08-19 15:57:59 +08:00
parent d683d32bd5
commit e8cca2315a
1 changed files with 4 additions and 0 deletions

View File

@ -104,6 +104,10 @@ static rt_size_t rt_pipe_read(rt_device_t dev,
static void _rt_pipe_resume_reader(struct rt_pipe_device *pipe) static void _rt_pipe_resume_reader(struct rt_pipe_device *pipe)
{ {
if (pipe->parent.rx_indicate)
pipe->parent.rx_indicate(&pipe->parent,
rt_ringbuffer_data_len(&pipe->ringbuffer));
if (!rt_list_isempty(&pipe->suspended_read_list)) if (!rt_list_isempty(&pipe->suspended_read_list))
{ {
rt_thread_t thread; rt_thread_t thread;