[mythtv-commits] Ticket #7135: multiple [mythfrontend] <defunct>
MythTV
mythtv at cvs.mythtv.org
Sat Nov 21 01:37:35 UTC 2009
#7135: multiple [mythfrontend] <defunct>
---------------------------------------+------------------------------------
Reporter: simons.philippe@… | Owner: ijr
Type: defect | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - General | Version: head
Severity: low | Mlocked: 0
---------------------------------------+------------------------------------
Comment(by Bill Meek <llibkeem@…>):
Update: haven't given up, but the number of defuncts changes. I can't
figure out why.
I usually had about 15 defunct processes. The next patch dropped that to
a solid 5. Both "bdi" and "power" appear on my machine, "trace" was added
because I saw a comment on gossamer-threads by jarpublic. This seems like
a keeper.
{{{
Index: mediamonitor-unix.cpp
===================================================================
--- mediamonitor-unix.cpp (revision 22872)
+++ mediamonitor-unix.cpp (working copy)
@@ -553,7 +553,9 @@
// skip some sysfs dirs that are _not_ sub-partitions
if (*pit == "device" || *pit == "holders" || *pit == "queue"
- || *pit == "slaves" || *pit ==
"subsystem")
+ || *pit == "slaves" || *pit ==
"subsystem"
+ || *pit == "bdi" || *pit == "power"
+ || *pit == "trace")
continue;
found_partitions |= FindPartitions(
}}}
I suspect that mediamonitor-unix.cpp isn't and wasn't causing the actual
defuncts to occur.
When I was at 5, there were a matching 5 failures to mount. That makes
sense, because there are no memory cards plugged in any of the 5 slots.
In these cases, myth_system() is called to do the mounts and I tried the
below. But the number of defuncts now floats between 1 and 6. '''Not'''
recommending this as a fix, but the change does make a difference.
{{{
Index: mythmedia.cpp
===================================================================
--- mythmedia.cpp (revision 22872)
+++ mythmedia.cpp (working copy)
@@ -121,7 +121,7 @@
.arg(m_DevicePath);
VERBOSE(VB_MEDIA, QString("Executing '%1'").arg(MountCommand));
- if (0 == myth_system(MountCommand))
+ if (0 == myth_system(MountCommand,
MYTH_SYSTEM_DONT_BLOCK_PARENT))
{
if (DoMount)
{
}}}
I keep tripping over why is it that udevinfo works and the error case
doesn't? udevinfo returns the same string, although the default has no
trailing new line. I tried appending a new line to the default case,
(ret.append(QChar '\n')) to no avail.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/7135#comment:23>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list