[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