[mythtv-users] defunct mythfrontend children processes

Johnny Walker johnnyjboss at gmail.com
Wed Nov 18 21:28:16 UTC 2009


I'm still in the middle of the 1st compile.

do you think I should kill it and try this instead?

On Wed, Nov 18, 2009 at 3:23 PM, Michael T. Dean
<mtdean at thirdcontact.com> wrote:
> On 11/18/2009 03:40 PM, Michael T. Dean wrote:
>>
>> On 11/18/2009 03:33 PM, Johnny Walker wrote:
>>>
>>> On Wed, Nov 18, 2009 at 2:25 PM, Michael T. Dean wrote:
>>>>
>>>> On 11/18/2009 03:18 PM, Johnny Walker wrote:
>>>>>
>>>>> My 3 zombie pids appear wihout me actually doing anything. It's
>>>>> immediately after boot.
>>>>
>>>> You know, Paul wasn't lying when he told you it's a) a known issue and
>>>> b)
>>>> due to problems with the media monitor code, as discussed in
>>>>  http://svn.mythtv.org/trac/ticket/7135 .
>>>>
>>>> We don't have a fix for it, yet.  If you're interested in fixing it,
>>>> please
>>>> read that ticket so you're not wasting time looking at MythWeather.  :)
>>>
>>> I had discounted that answer since when i read the open ticket it
>>> appeared the patch didn't work for Bill Meek when he applied it 11
>>> days ago.
>>>
>>> I suppose I'll go apply the patch too...
>>
>> Discount the patch, not the answer.  :)  We need someone who can actually
>> reproduce the issue to fix it.
>
> Heh, though, now I think I know exactly what's happening (and why the first
> patch I had Bill try didn't work).  Would you care to apply this completely
> untested patch and see what it does?  (Only needs applied to the frontend
> system.)
>
> Testing would be so much easier if I could actually reproduce the issue.  :)
>
> Mike
>
> Index: mythtv/libs/libmyth/mediamonitor-unix.cpp
> ===================================================================
> --- mythtv.orig/libs/libmyth/mediamonitor-unix.cpp      2009-09-19
> 13:56:48.000000000 -0400
> +++ mythtv/libs/libmyth/mediamonitor-unix.cpp   2009-11-18
> 16:01:06.000000000 -0500
> @@ -219,35 +219,34 @@
>     ret.replace(QRegExp(".*/"), "/dev/");
>
>  #ifdef linux
> -    QProcess    *udevinfo = new QProcess();
> -    QTextStream  stream(udevinfo);
> +    QProcess    udevinfo;
> +    QTextStream  stream(&udevinfo);
>     QStringList  args;
>
>     args << "-q";
>     args << "name";
>     args << "-rp";
>     args << sysfs;
> -    udevinfo->start("udevinfo", args);
> +    udevinfo.start("udevinfo", args);
>
> -    if (!udevinfo->waitForStarted(2000 /*ms*/))
> +    if (!udevinfo.waitForStarted(2000 /*ms*/))
>     {
>         VERBOSE(VB_MEDIA, msg + ", Error - udevinfo failed to start!");
> -        udevinfo->deleteLater();
>         return ret;
>     }
>
> -    if (!udevinfo->waitForFinished(2000 /*ms*/))
> +    if (!udevinfo.waitForFinished(2000 /*ms*/))
>     {
>         VERBOSE(VB_MEDIA,
>                 msg + ", Error - udevinfo failed to end! Terminating");
> -        udevinfo->kill();
> -        udevinfo->deleteLater();
> +        udevinfo.kill();
> +        udevinfo.waitForFinished(2000 /*ms*/);
>         return ret;
>     }
>
>     if ((print_verbose_messages & (VB_MEDIA|VB_EXTRA)) ==
> (VB_MEDIA|VB_EXTRA))
>     {
> -        udevinfo->setReadChannel(QProcess::StandardError);
> +        udevinfo.setReadChannel(QProcess::StandardError);
>
>         while (!stream.atEnd())
>         {
> @@ -256,13 +255,12 @@
>         }
>     }
>
> -    udevinfo->setReadChannel(QProcess::StandardOutput);
> +    udevinfo.setReadChannel(QProcess::StandardOutput);
>
>     ret = stream.readLine();
>     if (ret.startsWith("device not found in database"))
>         return ret;
>
> -    udevinfo->deleteLater();
>  #endif // linux
>
>     VERBOSE(VB_MEDIA, msg + "->'" + ret + "'");
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>
>


More information about the mythtv-users mailing list