[debian-edu-commits] debian-edu/ 04/09: chansrv: sound: zero out ack flags when sound_send_close called, to avoid deadloop when chunk is sent and not acked back by the client.

Dominik George natureshadow-guest at moszumanska.debian.org
Thu Oct 6 21:01:38 UTC 2016


This is an automated email from the git hooks/post-receive script.

natureshadow-guest pushed a commit to annotated tag v0.8.0
in repository xrdp.

commit 2305e6de590e76e75a2083168ee5785b8679cda1
Author: speidy <speidy at gmail.com>
Date:   Mon Apr 28 00:24:20 2014 +0300

    chansrv: sound: zero out ack flags when sound_send_close called, to
    avoid deadloop when chunk is sent and not acked back by the client.
---
 sesman/chansrv/sound.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sesman/chansrv/sound.c b/sesman/chansrv/sound.c
index 186fe0b..bafe5d0 100644
--- a/sesman/chansrv/sound.c
+++ b/sesman/chansrv/sound.c
@@ -373,6 +373,8 @@ sound_send_wave_data_chunk(char *data, int data_bytes)
         return 0;
     }
 
+    LOG(20, ("sound_send_wave_data_chunk: g_sent_flag[%d] = %d",
+            g_cBlockNo + 1, g_sent_flag[(g_cBlockNo + 1) & 0xff]));
     if (g_sent_flag[(g_cBlockNo + 1) & 0xff] & 1)
     {
         LOG(10, ("sound_send_wave_data_chunk: no room"));
@@ -474,6 +476,7 @@ sound_send_close(void)
     /* send any left over data */
     sound_send_wave_data_chunk(g_buffer, g_buf_index);
     g_buf_index = 0;
+    g_memset(g_sent_flag, 0, sizeof(g_sent_flag));
 
     make_stream(s);
     init_stream(s, 8182);
@@ -701,6 +704,7 @@ sound_init(void)
 int APP_CC
 sound_deinit(void)
 {
+    LOG(10, ("sound_deinit:"));
     if (g_audio_l_trans_out != 0)
     {
         trans_delete(g_audio_l_trans_out);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-edu/pkg-team/xrdp.git



More information about the debian-edu-commits mailing list