diff --git a/dap_stream_ch_pkt.c b/dap_stream_ch_pkt.c index e97c6a7be8156e2f1f01f7ed23900efcd9430595..5e2329841f9fedb49ee0f7bc9b20630bc51f5944 100755 --- a/dap_stream_ch_pkt.c +++ b/dap_stream_ch_pkt.c @@ -75,6 +75,10 @@ void dap_stream_ch_pkt_deinit() */ size_t dap_stream_ch_pkt_write(struct dap_stream_ch * a_ch, uint8_t a_type, const void * a_data, size_t a_data_size) { + if (! a_data_size){ + log_it(L_WARNING,"Zero data size to write out in channel"); + return 0; + } pthread_mutex_lock( &a_ch->mutex); //log_it(L_DEBUG,"Output: Has %u bytes of %c type for %c channel id",data_size, (char)type, (char) ch->proc->id ); @@ -105,6 +109,7 @@ size_t dap_stream_ch_pkt_write(struct dap_stream_ch * a_ch, uint8_t a_type, con size_t l_ret=dap_stream_pkt_write(a_ch->stream,a_ch->buf,a_data_size+sizeof(l_hdr)); a_ch->stat.bytes_write+=a_data_size; + a_ch->ready_to_write=true; pthread_mutex_unlock( &a_ch->mutex); return l_ret;