summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2008-03-06 20:03:31 +0100
committerReinhard Nißl <rnissl@gmx.de>2008-03-06 20:03:31 +0100
commit118e60d2017ea780f68b959718f7fea1f829ab9b (patch)
treeff6cff9523c64a53af85f7b9260367cd5521481d
parentb9e884f6c43dce82fd80284675a56f42731881d4 (diff)
downloadxine-lib-118e60d2017ea780f68b959718f7fea1f829ab9b.tar.gz
xine-lib-118e60d2017ea780f68b959718f7fea1f829ab9b.tar.bz2
Fix deadlock in sync point code caused by initial handshake byte.
--HG-- extra : transplant_source : %09%A1%828%A2%19P%09%A0%D7%83%DB.%B3%D2%13%26%7D%10%DC
-rw-r--r--src/vdr/input_vdr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vdr/input_vdr.c b/src/vdr/input_vdr.c
index 48cc74aed..ade2ecfa1 100644
--- a/src/vdr/input_vdr.c
+++ b/src/vdr/input_vdr.c
@@ -1652,6 +1652,12 @@ static int vdr_plugin_open_fifo_mrl(input_plugin_t *this_gen)
fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
+ /* eat initial handshake byte */
+ {
+ char b;
+ read(this->fh, &b, 1);
+ }
+
{
char *filename_control = 0;
asprintf(&filename_control, "%s.control", filename);