[mythtv-firehose] mythtv branch devel/027candidates updated by jyavenard. v0.27-249-gbb92ed4

Git Repo Owner noreply at mythtv.org
Thu May 1 03:58:16 UTC 2014

The branch, devel/027candidates has been updated on the
mythtv repository by gitolite user jyavenard.
       via  bb92ed446a23538ea990f04fd5db31d0aae5633f (commit)
       via  4b1e63234316398763f72945aee2ae4a0fda6fdb (commit)
      from  ef05e23711268efd9a6daf79612b2c28aa40fbe2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit bb92ed446a23538ea990f04fd5db31d0aae5633f
Author:    Cédric Schieli <cschieli at gmail.com> at Sat, 1 Feb 2014 10:35:28 +0100
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Thu, 1 May 2014 13:58:52 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=bb92ed446a23538ea990f04fd5db31d0aae5633f

Fix random SBE PlaybackSock timeout in MBE.
SBE PlaybackSocks in the master suffer from random disconnection, occuring
after a 7000 ms timeout. It often happens when a frontend ask for the
thumbnail of a program currently being recorded on a slave backend.

I could identify two problems causing this:

First, there is a race between MainServer::ProcessRequestWork and
PlaybackSock::SendReceiveStringList. Even if callbacks are disabled during
SendReceiveStringList execution, a ProcessRequestWork may already be running
and can swallow the reply, leading to the timeout in SendReceiveStringList.

The second problem is that an invocation of ProcessRequestWork is fired for
each block of data arriving in the socket (for example when a reply is long
enough to be fragmented, ie. GENERATED_PIXMAP) but this data is consumed all at
once by one worker, leaving the other workers without food. This also leads to
the timeout in ReadStringList.

This patch fixes the first problem by assuring that no worker reads from the
socket while a SendReceiveStringList is running and the second one by aborting
a worker if there is no more data to read, but only once the lock has been

Signed-off-by: Jean-Yves Avenard <jyavenard at mythtv.org>
(cherry picked from commit 3771b8872a8d545faa63c39f3aa2b852bcc11e78)

commit 4b1e63234316398763f72945aee2ae4a0fda6fdb
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Thu, 1 May 2014 13:58:32 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Thu, 1 May 2014 13:58:32 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=4b1e63234316398763f72945aee2ae4a0fda6fdb

Revert "Fix random SBE PlaybackSock timeout in MBE."
Incorrect author name

This reverts commit ef05e23711268efd9a6daf79612b2c28aa40fbe2.


Summary of changes:
 mythtv/programs/mythbackend/playbacksock.cpp |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)


More information about the mythtv-firehose mailing list